@dpesch/mantisbt-mcp-server 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitea/workflows/ci.yml +80 -0
- package/CHANGELOG.md +19 -0
- package/README.de.md +4 -0
- package/README.md +4 -0
- package/package.json +1 -1
- package/.env.local +0 -2
- package/tests/fixtures/recorded/get_current_user.json +0 -108
- package/tests/fixtures/recorded/get_issue.json +0 -320
- package/tests/fixtures/recorded/get_project_categories.json +0 -241
- package/tests/fixtures/recorded/get_project_versions.json +0 -3
- package/tests/fixtures/recorded/list_issues.json +0 -824
- package/tests/fixtures/recorded/list_projects.json +0 -10641
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: CI / Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
tags:
|
|
7
|
+
- 'v*'
|
|
8
|
+
pull_request:
|
|
9
|
+
branches: [main]
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
ci:
|
|
13
|
+
runs-on: codeberg-small
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Set up Node.js
|
|
19
|
+
uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: '20'
|
|
22
|
+
cache: 'npm'
|
|
23
|
+
|
|
24
|
+
- name: Install dependencies
|
|
25
|
+
run: npm ci
|
|
26
|
+
|
|
27
|
+
- name: Typecheck
|
|
28
|
+
run: npm run typecheck
|
|
29
|
+
|
|
30
|
+
- name: Test
|
|
31
|
+
run: npm test
|
|
32
|
+
|
|
33
|
+
- name: Build
|
|
34
|
+
run: npm run build
|
|
35
|
+
|
|
36
|
+
publish:
|
|
37
|
+
runs-on: codeberg-small
|
|
38
|
+
needs: ci
|
|
39
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
40
|
+
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v4
|
|
43
|
+
|
|
44
|
+
- name: Set up Node.js
|
|
45
|
+
uses: actions/setup-node@v4
|
|
46
|
+
with:
|
|
47
|
+
node-version: '20'
|
|
48
|
+
cache: 'npm'
|
|
49
|
+
registry-url: 'https://registry.npmjs.org'
|
|
50
|
+
|
|
51
|
+
- name: Install dependencies
|
|
52
|
+
run: npm ci
|
|
53
|
+
|
|
54
|
+
- name: Build
|
|
55
|
+
run: npm run build
|
|
56
|
+
|
|
57
|
+
- name: Publish to npm
|
|
58
|
+
run: npm publish --access public
|
|
59
|
+
env:
|
|
60
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
61
|
+
|
|
62
|
+
- name: Extract release notes from CHANGELOG
|
|
63
|
+
run: |
|
|
64
|
+
VERSION="${{ github.ref_name }}"
|
|
65
|
+
VERSION_NUM="${VERSION#v}"
|
|
66
|
+
awk "/^## \[${VERSION_NUM}\]/{found=1; next} found && /^## \[/{exit} found{print}" CHANGELOG.md \
|
|
67
|
+
| sed '/^[[:space:]]*$/d' > /tmp/release_notes.md
|
|
68
|
+
echo "Release notes:"
|
|
69
|
+
cat /tmp/release_notes.md
|
|
70
|
+
|
|
71
|
+
- name: Create Codeberg release
|
|
72
|
+
run: |
|
|
73
|
+
curl -s -X POST "https://codeberg.org/api/v1/repos/dpesch/mantisbt-mcp-server/releases" \
|
|
74
|
+
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
|
|
75
|
+
-H "Content-Type: application/json" \
|
|
76
|
+
-d "$(jq -n \
|
|
77
|
+
--arg tag "${{ github.ref_name }}" \
|
|
78
|
+
--arg name "${{ github.ref_name }}" \
|
|
79
|
+
--rawfile body /tmp/release_notes.md \
|
|
80
|
+
'{tag_name: $tag, name: $name, body: $body, draft: false, prerelease: false}')"
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,25 @@ This project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [1.0.2] – 2026-03-15
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- CI badge switched to shields.io for correct rendering on npmjs.com
|
|
14
|
+
- Publish workflow now depends on CI passing (`needs: ci`) before releasing
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## [1.0.1] – 2026-03-15
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- Gitea Actions CI workflow: typecheck, tests, build on every push
|
|
22
|
+
- Gitea Actions publish workflow: automatic npm publish and Codeberg release on version tags
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- README badges: added CI status, npm version, and license badges
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
10
29
|
## [1.0.0] – 2026-03-15
|
|
11
30
|
|
|
12
31
|
First stable release.
|
package/README.de.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# MantisBT MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://codeberg.org/dpesch/mantisbt-mcp-server/actions)
|
|
4
|
+
[](https://www.npmjs.com/package/@dpesch/mantisbt-mcp-server)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
3
7
|
Ein [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) Server, der die [MantisBT REST API](https://documenter.getpostman.com/view/29959/mantis-bug-tracker-rest-api) in Claude Code und andere MCP-fähige Clients integriert. Issues lesen, erstellen und bearbeiten – direkt aus dem Editor heraus.
|
|
4
8
|
|
|
5
9
|
## Voraussetzungen
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# MantisBT MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://codeberg.org/dpesch/mantisbt-mcp-server/actions)
|
|
4
|
+
[](https://www.npmjs.com/package/@dpesch/mantisbt-mcp-server)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
3
7
|
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that integrates the [MantisBT REST API](https://documenter.getpostman.com/view/29959/mantis-bug-tracker-rest-api) into Claude Code and other MCP-capable clients. Read, create, and update issues directly from your editor.
|
|
4
8
|
|
|
5
9
|
## Requirements
|
package/package.json
CHANGED
package/.env.local
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": 51,
|
|
3
|
-
"name": "domAgent",
|
|
4
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
5
|
-
"email": "d.pesch+agent@11com7.de",
|
|
6
|
-
"language": "german",
|
|
7
|
-
"timezone": "Europe/Berlin",
|
|
8
|
-
"access_level": {
|
|
9
|
-
"id": 70,
|
|
10
|
-
"name": "manager",
|
|
11
|
-
"label": "Manager"
|
|
12
|
-
},
|
|
13
|
-
"created_at": "2026-02-28T09:08:30+01:00",
|
|
14
|
-
"projects": [
|
|
15
|
-
{
|
|
16
|
-
"id": 30,
|
|
17
|
-
"name": "((Haus)) (Bolliggasse 1a)"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"id": 54,
|
|
21
|
-
"name": "11com7 Claude MetaRepo"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"id": 2,
|
|
25
|
-
"name": "11com7 ContentGo-Lib"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"id": 48,
|
|
29
|
-
"name": "11com7 DevServer"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"id": 25,
|
|
33
|
-
"name": "11com7 GmbH"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"id": 39,
|
|
37
|
-
"name": "11com7 Hosting (Keyweb, Ansible)"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"id": 44,
|
|
41
|
-
"name": "11com7-Ausbildung-FIAE"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"id": 52,
|
|
45
|
-
"name": "11com7-DVMS (Datenschutzverletzungsmelder)"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"id": 5,
|
|
49
|
-
"name": "11com7-Homepage"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"id": 27,
|
|
53
|
-
"name": "b11com7"
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": 3,
|
|
57
|
-
"name": "BIBB NAA309"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"id": 11,
|
|
61
|
-
"name": "BIBB wbmonitor"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"id": 38,
|
|
65
|
-
"name": "DSGV Budgetanalyse 3"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"id": 28,
|
|
69
|
-
"name": "DSGV Finanzchecker (App)"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"id": 45,
|
|
73
|
-
"name": "DSGV Finanzchecker (Landingpage)"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"id": 40,
|
|
77
|
-
"name": "DSGV Login"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"id": 26,
|
|
81
|
-
"name": "DSGV Referenzbudgets"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"id": 8,
|
|
85
|
-
"name": "DSGV Vortragsservice"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"id": 14,
|
|
89
|
-
"name": "DSGV Web-Budgetplaner"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"id": 42,
|
|
93
|
-
"name": "Lingua-World"
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"id": 49,
|
|
97
|
-
"name": "SIK M&E-App"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"id": 21,
|
|
101
|
-
"name": "Uni Bonn (Hausprint V2)"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"id": 53,
|
|
105
|
-
"name": "ZEEEM GSM-Landingpage"
|
|
106
|
-
}
|
|
107
|
-
]
|
|
108
|
-
}
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"issues": [
|
|
3
|
-
{
|
|
4
|
-
"id": 7856,
|
|
5
|
-
"summary": "statusline-command.sh: Usage-Statistiken ergaenzt",
|
|
6
|
-
"description": "## Was ist passiert?\nstatusline-command.sh verwendete cygpath hartcodiert für USAGE_CACHE und USAGE_FETCHER.\nAuf WSL und Linux wurden die Pfade nicht aufgelöst — die Usage-Statistiken fehlten in der Statusleiste.\n\n## Betroffene Komponente\n- Skript: statusline-command.sh\n- Dateien: setup/statusline-command.sh, ~/.claude/statusline-command.sh\n- Plattform: beide\n\n## Ursachenanalyse\nDie Variablen USAGE_CACHE und USAGE_FETCHER wurden mit $(cygpath ...) gesetzt,\nohne Fallback für WSL/Linux.\n\n## Lösungsansätze\n1. Plattform-Erkennung: cygpath verfügbar -> Windows, sonst $HOME (WSL/Linux)\n2. _CLAUDE_HOME als gemeinsame Hilfsvariable\n3. USAGE_CACHE und USAGE_FETCHER davon ableiten\n\n## Hinweise zur Umsetzung\nÄnderungen wurden lokal vorgenommen, aber noch nicht commited oder gepushed.\nSiehe Kommentar für den konkreten Diff.",
|
|
7
|
-
"project": {
|
|
8
|
-
"id": 54,
|
|
9
|
-
"name": "11com7 Claude MetaRepo"
|
|
10
|
-
},
|
|
11
|
-
"category": {
|
|
12
|
-
"id": 350,
|
|
13
|
-
"name": "Konfiguration"
|
|
14
|
-
},
|
|
15
|
-
"reporter": {
|
|
16
|
-
"id": 52,
|
|
17
|
-
"name": "ppAgent"
|
|
18
|
-
},
|
|
19
|
-
"handler": {
|
|
20
|
-
"id": 51,
|
|
21
|
-
"name": "domAgent",
|
|
22
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
23
|
-
"email": "d.pesch+agent@11com7.de"
|
|
24
|
-
},
|
|
25
|
-
"status": {
|
|
26
|
-
"id": 80,
|
|
27
|
-
"name": "resolved",
|
|
28
|
-
"label": "erledigt",
|
|
29
|
-
"color": "#e8e8e8"
|
|
30
|
-
},
|
|
31
|
-
"resolution": {
|
|
32
|
-
"id": 20,
|
|
33
|
-
"name": "fixed",
|
|
34
|
-
"label": "erledigt"
|
|
35
|
-
},
|
|
36
|
-
"view_state": {
|
|
37
|
-
"id": 10,
|
|
38
|
-
"name": "public",
|
|
39
|
-
"label": "öffentlich"
|
|
40
|
-
},
|
|
41
|
-
"priority": {
|
|
42
|
-
"id": 30,
|
|
43
|
-
"name": "normal",
|
|
44
|
-
"label": "normal"
|
|
45
|
-
},
|
|
46
|
-
"severity": {
|
|
47
|
-
"id": 210,
|
|
48
|
-
"name": "Wartung",
|
|
49
|
-
"label": "Wartung"
|
|
50
|
-
},
|
|
51
|
-
"reproducibility": {
|
|
52
|
-
"id": 70,
|
|
53
|
-
"name": "have not tried",
|
|
54
|
-
"label": "nicht getestet"
|
|
55
|
-
},
|
|
56
|
-
"sticky": false,
|
|
57
|
-
"created_at": "2026-03-13T15:51:57+01:00",
|
|
58
|
-
"updated_at": "2026-03-15T08:35:48+01:00",
|
|
59
|
-
"notes": [
|
|
60
|
-
{
|
|
61
|
-
"id": 3982,
|
|
62
|
-
"reporter": {
|
|
63
|
-
"id": 52,
|
|
64
|
-
"name": "ppAgent"
|
|
65
|
-
},
|
|
66
|
-
"text": "## Ausstehende Aenderung — setup/statusline-command.sh\n\nDie Aenderung wurde lokal erstellt, aber noch nicht commited. Ein Agent kann sie direkt uebernehmen.\n\n### Diff\n\n```diff\n@@ -34,8 +34,13 @@ else\n fi\n \n # Rate-Limit-Usage aus Cache lesen; bei veraltetem Cache Refresh im Hintergrund anstoessen\n-USAGE_CACHE=\"$(cygpath \"$USERPROFILE\")/.claude/usage-rate-cache.json\"\n-USAGE_FETCHER=\"$(cygpath \"$USERPROFILE\")/.claude/usage-fetcher.sh\"\n+if command -v cygpath &>/dev/null; then\n+ _CLAUDE_HOME=\"$(cygpath \"$USERPROFILE\")/.claude\"\n+else\n+ _CLAUDE_HOME=\"$HOME/.claude\"\n+fi\n+USAGE_CACHE=\"$_CLAUDE_HOME/usage-rate-cache.json\"\n+USAGE_FETCHER=\"$_CLAUDE_HOME/usage-fetcher.sh\"\n usage_str=\"\"\n```\n\n### Commit-Vorschlag\n\n```\nErgaenze WSL/Linux-Pfad-Fallback in statusline-command.sh\n```\n\nDie Aenderung muss identisch in `setup/statusline-command.sh` (Repo) und\n`~/.claude/statusline-command.sh` (deployed) vorgenommen werden.",
|
|
67
|
-
"view_state": {
|
|
68
|
-
"id": 10,
|
|
69
|
-
"name": "public",
|
|
70
|
-
"label": "öffentlich"
|
|
71
|
-
},
|
|
72
|
-
"attachments": [],
|
|
73
|
-
"type": "note",
|
|
74
|
-
"created_at": "2026-03-13T15:58:50+01:00",
|
|
75
|
-
"updated_at": "2026-03-13T15:58:50+01:00"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"id": 3984,
|
|
79
|
-
"reporter": {
|
|
80
|
-
"id": 51,
|
|
81
|
-
"name": "domAgent",
|
|
82
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
83
|
-
"email": "d.pesch+agent@11com7.de"
|
|
84
|
-
},
|
|
85
|
-
"text": "`setup/statusline-command.sh` verwendete `cygpath \"$USERPROFILE\"` hartcodiert zum Auflösen der Pfade für `USAGE_CACHE` und `USAGE_FETCHER`. `cygpath` ist ausschließlich unter Windows (Git Bash / Cygwin) verfügbar — auf WSL und Linux ist der Befehl nicht vorhanden, weshalb die Variablen auf leere Strings gesetzt wurden und die Usage-Statistiken in der Statusleiste komplett fehlten.\n\nBehoben durch eine Plattform-Erkennung: Wenn `cygpath` verfügbar ist (Windows), wird `_CLAUDE_HOME` wie bisher per `cygpath \"$USERPROFILE\"` gesetzt; andernfalls (WSL/Linux) wird `$HOME/.claude` verwendet. `USAGE_CACHE` und `USAGE_FETCHER` leiten sich dann gemeinsam von `_CLAUDE_HOME` ab.\n\nCommit: e66a7ca",
|
|
86
|
-
"view_state": {
|
|
87
|
-
"id": 10,
|
|
88
|
-
"name": "public",
|
|
89
|
-
"label": "öffentlich"
|
|
90
|
-
},
|
|
91
|
-
"attachments": [],
|
|
92
|
-
"type": "note",
|
|
93
|
-
"created_at": "2026-03-13T16:22:40+01:00",
|
|
94
|
-
"updated_at": "2026-03-13T16:22:40+01:00"
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
"history": [
|
|
98
|
-
{
|
|
99
|
-
"created_at": "2026-03-13T15:51:57+01:00",
|
|
100
|
-
"user": {
|
|
101
|
-
"id": 52,
|
|
102
|
-
"name": "ppAgent"
|
|
103
|
-
},
|
|
104
|
-
"type": {
|
|
105
|
-
"id": 1,
|
|
106
|
-
"name": "issue-new"
|
|
107
|
-
},
|
|
108
|
-
"message": "Neuer Eintrag"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"created_at": "2026-03-13T15:51:57+01:00",
|
|
112
|
-
"user": {
|
|
113
|
-
"id": 52,
|
|
114
|
-
"name": "ppAgent"
|
|
115
|
-
},
|
|
116
|
-
"field": {
|
|
117
|
-
"name": "status",
|
|
118
|
-
"label": "Status"
|
|
119
|
-
},
|
|
120
|
-
"type": {
|
|
121
|
-
"id": 0,
|
|
122
|
-
"name": "field-updated"
|
|
123
|
-
},
|
|
124
|
-
"old_value": {
|
|
125
|
-
"id": 10,
|
|
126
|
-
"name": "new",
|
|
127
|
-
"label": "neu",
|
|
128
|
-
"color": "#eeb3aa"
|
|
129
|
-
},
|
|
130
|
-
"new_value": {
|
|
131
|
-
"id": 50,
|
|
132
|
-
"name": "assigned",
|
|
133
|
-
"label": "zugewiesen",
|
|
134
|
-
"color": "#afbed5"
|
|
135
|
-
},
|
|
136
|
-
"message": "Status",
|
|
137
|
-
"change": "neu => zugewiesen"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"created_at": "2026-03-13T15:51:57+01:00",
|
|
141
|
-
"user": {
|
|
142
|
-
"id": 52,
|
|
143
|
-
"name": "ppAgent"
|
|
144
|
-
},
|
|
145
|
-
"field": {
|
|
146
|
-
"name": "handler",
|
|
147
|
-
"label": "Bearbeitung durch"
|
|
148
|
-
},
|
|
149
|
-
"type": {
|
|
150
|
-
"id": 0,
|
|
151
|
-
"name": "field-updated"
|
|
152
|
-
},
|
|
153
|
-
"old_value": {
|
|
154
|
-
"id": 0
|
|
155
|
-
},
|
|
156
|
-
"new_value": {
|
|
157
|
-
"id": 51,
|
|
158
|
-
"name": "domAgent",
|
|
159
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
160
|
-
"email": "d.pesch+agent@11com7.de"
|
|
161
|
-
},
|
|
162
|
-
"message": "Bearbeitung durch",
|
|
163
|
-
"change": " => domAgent"
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"created_at": "2026-03-13T15:58:50+01:00",
|
|
167
|
-
"user": {
|
|
168
|
-
"id": 52,
|
|
169
|
-
"name": "ppAgent"
|
|
170
|
-
},
|
|
171
|
-
"type": {
|
|
172
|
-
"id": 6,
|
|
173
|
-
"name": "issue-description-updated"
|
|
174
|
-
},
|
|
175
|
-
"message": "Beschreibung aktualisiert"
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
"created_at": "2026-03-13T15:58:50+01:00",
|
|
179
|
-
"user": {
|
|
180
|
-
"id": 52,
|
|
181
|
-
"name": "ppAgent"
|
|
182
|
-
},
|
|
183
|
-
"type": {
|
|
184
|
-
"id": 2,
|
|
185
|
-
"name": "note-added"
|
|
186
|
-
},
|
|
187
|
-
"note": {
|
|
188
|
-
"id": 3982
|
|
189
|
-
},
|
|
190
|
-
"message": "Notiz hinzugefügt: 0003982"
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
"created_at": "2026-03-13T16:10:05+01:00",
|
|
194
|
-
"user": {
|
|
195
|
-
"id": 52,
|
|
196
|
-
"name": "ppAgent"
|
|
197
|
-
},
|
|
198
|
-
"type": {
|
|
199
|
-
"id": 6,
|
|
200
|
-
"name": "issue-description-updated"
|
|
201
|
-
},
|
|
202
|
-
"message": "Beschreibung aktualisiert"
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
"created_at": "2026-03-13T16:22:40+01:00",
|
|
206
|
-
"user": {
|
|
207
|
-
"id": 51,
|
|
208
|
-
"name": "domAgent",
|
|
209
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
210
|
-
"email": "d.pesch+agent@11com7.de"
|
|
211
|
-
},
|
|
212
|
-
"type": {
|
|
213
|
-
"id": 2,
|
|
214
|
-
"name": "note-added"
|
|
215
|
-
},
|
|
216
|
-
"note": {
|
|
217
|
-
"id": 3984
|
|
218
|
-
},
|
|
219
|
-
"message": "Notiz hinzugefügt: 0003984"
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
"created_at": "2026-03-13T16:22:49+01:00",
|
|
223
|
-
"user": {
|
|
224
|
-
"id": 51,
|
|
225
|
-
"name": "domAgent",
|
|
226
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
227
|
-
"email": "d.pesch+agent@11com7.de"
|
|
228
|
-
},
|
|
229
|
-
"field": {
|
|
230
|
-
"name": "status",
|
|
231
|
-
"label": "Status"
|
|
232
|
-
},
|
|
233
|
-
"type": {
|
|
234
|
-
"id": 0,
|
|
235
|
-
"name": "field-updated"
|
|
236
|
-
},
|
|
237
|
-
"old_value": {
|
|
238
|
-
"id": 50,
|
|
239
|
-
"name": "assigned",
|
|
240
|
-
"label": "zugewiesen",
|
|
241
|
-
"color": "#afbed5"
|
|
242
|
-
},
|
|
243
|
-
"new_value": {
|
|
244
|
-
"id": 80,
|
|
245
|
-
"name": "resolved",
|
|
246
|
-
"label": "erledigt",
|
|
247
|
-
"color": "#e8e8e8"
|
|
248
|
-
},
|
|
249
|
-
"message": "Status",
|
|
250
|
-
"change": "zugewiesen => erledigt"
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"created_at": "2026-03-13T16:22:49+01:00",
|
|
254
|
-
"user": {
|
|
255
|
-
"id": 51,
|
|
256
|
-
"name": "domAgent",
|
|
257
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
258
|
-
"email": "d.pesch+agent@11com7.de"
|
|
259
|
-
},
|
|
260
|
-
"field": {
|
|
261
|
-
"name": "resolution",
|
|
262
|
-
"label": "Lösung"
|
|
263
|
-
},
|
|
264
|
-
"type": {
|
|
265
|
-
"id": 0,
|
|
266
|
-
"name": "field-updated"
|
|
267
|
-
},
|
|
268
|
-
"old_value": {
|
|
269
|
-
"id": 10,
|
|
270
|
-
"name": "open",
|
|
271
|
-
"label": "offen"
|
|
272
|
-
},
|
|
273
|
-
"new_value": {
|
|
274
|
-
"id": 20,
|
|
275
|
-
"name": "fixed",
|
|
276
|
-
"label": "erledigt"
|
|
277
|
-
},
|
|
278
|
-
"message": "Lösung",
|
|
279
|
-
"change": "offen => erledigt"
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
"created_at": "2026-03-15T08:35:40+01:00",
|
|
283
|
-
"user": {
|
|
284
|
-
"id": 51,
|
|
285
|
-
"name": "domAgent",
|
|
286
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
287
|
-
"email": "d.pesch+agent@11com7.de"
|
|
288
|
-
},
|
|
289
|
-
"type": {
|
|
290
|
-
"id": 25,
|
|
291
|
-
"name": "tag-added"
|
|
292
|
-
},
|
|
293
|
-
"tag": {
|
|
294
|
-
"id": 25,
|
|
295
|
-
"name": "mcp-test"
|
|
296
|
-
},
|
|
297
|
-
"message": "Tag zugeordnet: mcp-test"
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
"created_at": "2026-03-15T08:35:48+01:00",
|
|
301
|
-
"user": {
|
|
302
|
-
"id": 51,
|
|
303
|
-
"name": "domAgent",
|
|
304
|
-
"real_name": "Dominik Pesch (via Agent)",
|
|
305
|
-
"email": "d.pesch+agent@11com7.de"
|
|
306
|
-
},
|
|
307
|
-
"type": {
|
|
308
|
-
"id": 26,
|
|
309
|
-
"name": "tag-deleted"
|
|
310
|
-
},
|
|
311
|
-
"tag": {
|
|
312
|
-
"id": 25,
|
|
313
|
-
"name": "mcp-test"
|
|
314
|
-
},
|
|
315
|
-
"message": "Tag entfernt: mcp-test"
|
|
316
|
-
}
|
|
317
|
-
]
|
|
318
|
-
}
|
|
319
|
-
]
|
|
320
|
-
}
|