Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
96 lines (90 loc) · 5.6 KB
/
Copy path.env.example
File metadata and controls
96 lines (90 loc) · 5.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# gitlab-mcp-server — Environment variables template
# Copy this file to .env and fill in your values:
# cp .env.example .env
#
# In CI/CD, configure these as pipeline variables instead.
# GitLab connection (required)
GITLAB_URL=https://gitlab.example.com
GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
GITLAB_MCP_SKIP_TLS_VERIFY=false
# Docker Container Registry (required for docker-publish scripts)
DOCKER_REGISTRY=ghcr.io/jmrplens/gitlab-mcp-server
# Licensed Docker e2e run (optional; requires a valid license). The target
# chooses the run now, `make test-e2e-ee`, so there is no variable that turns
# it on: these two only say which image to boot and what to activate it with.
# GITLAB_IMAGE=gitlab/gitlab-ee:latest
# ENTERPRISE_LICENSE=your-enterprise-license-key
# Bitbucket Cloud import e2e (optional). When all three are set, the Bitbucket
# Cloud import scenarios perform a REAL import with the bitbucket_api_token and
# bitbucket_email it belongs to (and clean up the project); otherwise they are
# skipped. Treat the token as a secret and never commit it (put real values in
# .env, which is gitignored).
# BITBUCKET_API_TOKEN=ATATT3x... # Atlassian API token
# BITBUCKET_EMAIL=you@example.com # email tied to the token
# BITBUCKET_REPO_PATH=your-workspace/your-repo # source repo to import
# Multi-model evaluation (optional; used by test/e2e/modeleval)
# This is the one model list, read through the e2e harness settings. A spec is
# provider:model, with generation options after it as ;key=value pairs, allow-listed
# per provider: temperature and max_tokens everywhere, reasoning_effort on openai,
# enable_thinking on qwen. temperature=default omits the field, which is what a model
# that refuses it needs, and the published row then says "provider default" rather
# than claiming a 0 nobody sent. An unknown key refuses the run rather than being
# ignored, so a row cannot name a configuration the request did not carry.
# Adjust model IDs to the provider's current exact names.
# The Google alias resolves to the latest Gemini Flash model available to the API key,
# so two runs a month apart are not necessarily the same model.
# What the contract probe found on 2026-09-16, one request per model: the anthropic,
# google and qwen names below were accepted by these adapters and answered with a
# well-formed tool call. gpt-5.6-luna was refused, and its refusal is the instruction
# for using it: "Function tools with reasoning_effort are not supported for
# gpt-5.6-luna in /v1/chat/completions. To use function tools, use /v1/responses or
# set reasoning_effort to 'none'." So write it as
# openai:gpt-5.6-luna;reasoning_effort=none, which this spec grammar now expresses and
# which the probe has not itself confirmed. gpt-5.5 refuses the temperature 0 the old
# adapter always sent, which temperature=default now omits, and is likewise unconfirmed.
# gpt-5.4-nano is the OpenAI name last seen working, on 2026-09-15.
# Probe any name before writing it here:
# MODELEVAL_PROBE=first-turn go test -tags e2e -run TestProviderContract ./test/e2e/modeleval/
# Only that first turn has been probed. MODELEVAL_PROBE=yes adds the tool result fed
# back and the 128-tool slice, two more requests per model, and nothing has run them:
# the second-turn shape of these adapters is held by the httptest fixtures in
# internal/provider and by no provider's own answer. The same run would settle two
# open questions: whether gpt-5.6-luna accepts reasoning_effort=none, and whether
# Gemini accepts the x-mcp-header annotation the served execute schema carries, which
# the probe now sends because it lists the tools the server publishes rather than
# copies of them.
# qwen3.8-flash has no entry in the price table, because neither of its provider's
# own pages published a per-token figure that could be read; a run naming it stops
# unless MODELEVAL_UNPRICED=yes. See test/e2e/modeleval/internal/provider/prices.go.
# The evaluator this replaced read EVAL_MODELS for the same four providers. It is
# deleted, and so is that name: a .env still setting it configures nothing.
MODELEVAL_MODELS=anthropic:claude-haiku-4-5-20251001,google:gemini-flash-latest,openai:gpt-5.4-nano,qwen:qwen3.8-flash
ANTHROPIC_API_KEY=your-anthropic-api-key
GOOGLE_API_KEY=your-google-api-key
OPENAI_API_KEY=your-openai-api-key
QWEN_API_KEY=your-qwen-api-key
# --- E2E external importer credentials (optional) ---
# Exercise the admin importer e2e coverage (TestAdmin_ExternalImporters and
# TestBitbucketCloudImport_Individual) against the real third-party services.
# Those scenarios also need E2E_EXTERNAL_NETWORK=true, which is the opt-in for
# any test that calls a public URL; without it they skip whatever is set here.
# make test-e2e-ce and make test-e2e-ee, the complete runs, turn it on unless
# it is set, here or in the environment, and refuse to start when it is set to
# anything else (run an offline host with E2E_GATE_SKIPS=false instead, which
# is not a complete run).
# GH_TOKEN drives import_github / import_cancel_github / import_gists (a
# repository owned by the token's user is resolved automatically); the
# BITBUCKET_* set drives the Bitbucket Cloud import; the BITBUCKET_SERVER_* set
# targets a self-hosted Bitbucket Server if you have one reachable. In Docker
# mode (make test-e2e-ce and make test-e2e-ee) the BITBUCKET_SERVER_* values
# are auto-provisioned by the ephemeral Bitbucket fixture and written to
# test/e2e/.env.docker; only fill them here for self-hosted runs.
GH_TOKEN=
BITBUCKET_API_TOKEN=
BITBUCKET_EMAIL=
BITBUCKET_REPO_PATH=
BITBUCKET_SERVER_URL=
BITBUCKET_SERVER_USERNAME=
BITBUCKET_SERVER_TOKEN=
BITBUCKET_SERVER_PROJECT_KEY=
BITBUCKET_SERVER_REPO_SLUG=