@@ -7,27 +7,27 @@ services:
77 - postEnvironmentStart
88 commands :
99 start : |
10- echo "🔧 Setting up Jira MCP server..."
11-
10+ echo "Setting up Jira MCP server..."
11+
1212 # Create config directory
1313 mkdir -p ~/.config/gitpod
1414
1515 # Clone and build Jira MCP if not already present
1616 if [ ! -d "/home/node/jira-mcp" ]; then
17- echo "📦 Cloning Jira MCP repository..."
17+ echo "Cloning Jira MCP repository..."
1818 cd /home/node
1919 git clone https://github.com/MankowskiNick/jira-mcp.git
2020 cd jira-mcp
21- echo "📦 Installing dependencies..."
21+ echo "Installing dependencies..."
2222 npm install
23- echo "🔨 Building project..."
23+ echo "Building project..."
2424 npm run build
2525 else
26- echo "✓ Jira MCP already installed"
26+ echo "Jira MCP already installed"
2727 fi
2828
2929 # Create MCP configuration file
30- echo "⚙️ Creating MCP configuration..."
30+ echo "Creating MCP configuration..."
3131 cat > ~/.config/gitpod/mcp-config.json << EOF
3232 {
3333 "mcpServers": {
@@ -49,11 +49,64 @@ services:
4949 }
5050 EOF
5151
52- echo "✅ Jira MCP server setup complete!"
53- echo "📍 Configuration: ~/.config/gitpod/mcp-config.json"
54- echo "📍 Server location: /home/node/jira-mcp/"
55- echo "🎯 Project: MBA (coakley.atlassian.net)"
52+ # Configure generic MCP client connection
53+ echo "Configuring MCP client connection..."
54+
55+ # Create generic MCP client config
56+ MCP_CLIENT_CONFIG="$HOME/.config/mcp/client-config.json"
57+ mkdir -p "$HOME/.config/mcp"
58+ cat > "$MCP_CLIENT_CONFIG" << EOF
59+ {
60+ "mcpServers": {
61+ "jira-mcp": {
62+ "command": "node",
63+ "args": ["/home/node/jira-mcp/build/index.js"],
64+ "env": {
65+ "JIRA_HOST": "\${JIRA_HOST:-coakley.atlassian.net}",
66+ "JIRA_USERNAME": "\${JIRA_USERNAME:-joe@gitpod.io}",
67+ "JIRA_API_TOKEN": "\${JIRA_API_TOKEN:-your_api_token_here}",
68+ "JIRA_PROJECT_KEY": "\${JIRA_PROJECT_KEY:-MBA}",
69+ "AUTO_CREATE_TEST_TICKETS": "true",
70+ "JIRA_ACCEPTANCE_CRITERIA_FIELD": "customfield_10429",
71+ "JIRA_STORY_POINTS_FIELD": "customfield_10040",
72+ "JIRA_EPIC_LINK_FIELD": "customfield_10014"
73+ }
74+ }
75+ }
76+ }
77+ EOF
5678
79+ # Test MCP server connection if credentials are available
80+ if [ -n "\$JIRA_API_TOKEN" ] && [ "\$JIRA_API_TOKEN" != "your_api_token_here" ]; then
81+ echo "Testing MCP server connection..."
82+ cd /home/node/jira-mcp
83+
84+ # Test server initialization
85+ if echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}' | timeout 10 node build/index.js >/dev/null 2>&1; then
86+ echo "MCP server connection test successful"
87+ else
88+ echo "MCP server connection test failed - check credentials"
89+ fi
90+ fi
91+
92+ # Create a simple verification script
93+ echo '#!/bin/bash' > /tmp/verify-mcp-connection.sh
94+ echo 'echo "Verifying MCP configuration..."' >> /tmp/verify-mcp-connection.sh
95+ echo 'echo "Server config: $([ -f ~/.config/gitpod/mcp-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
96+ echo 'echo "Generic client config: $([ -f ~/.config/mcp/client-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
97+ echo 'echo "MCP server binary: $([ -f /home/node/jira-mcp/build/index.js ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
98+ chmod +x /tmp/verify-mcp-connection.sh
99+
100+ echo "Jira MCP server and client setup complete"
101+ echo "Server config: ~/.config/gitpod/mcp-config.json"
102+ echo "Generic client config: ~/.config/mcp/client-config.json"
103+ echo "Server location: /home/node/jira-mcp/"
104+ echo "Project: MBA (coakley.atlassian.net)"
105+ echo "Available tools: create-ticket, get-ticket, search-tickets, update-ticket, link-tickets, get-test-steps, add-test-steps"
106+ echo ""
107+ echo "Run '/tmp/verify-mcp-connection.sh' to verify the setup"
108+ echo "AI assistants may need to restart to pick up the new MCP configuration"
109+
57110 ready : |
58111 if [ -f "/home/node/jira-mcp/build/index.js" ] && [ -f "$HOME/.config/gitpod/mcp-config.json" ]; then
59112 echo "Jira MCP server is ready"
@@ -161,11 +214,11 @@ services:
161214 echo "Waiting for PostgreSQL to be ready..."
162215 for i in {1..60}; do
163216 if PGPASSWORD=gitpod psql -h localhost -U gitpod -d gitpodflix -c "SELECT 1" >/dev/null 2>&1; then
164- echo "✓ PostgreSQL is ready"
217+ echo "PostgreSQL is ready"
165218 break
166219 fi
167220 if [ $i -eq 60 ]; then
168- echo "✗ Timeout waiting for PostgreSQL"
221+ echo "Timeout waiting for PostgreSQL"
169222 exit 1
170223 fi
171224 echo "Waiting for PostgreSQL... attempt $i/60"
@@ -213,11 +266,11 @@ services:
213266 echo "Waiting for backend API to be ready..."
214267 for i in {1..60}; do
215268 if curl -s http://localhost:3001/health >/dev/null 2>&1; then
216- echo "✓ Backend API is ready"
269+ echo "Backend API is ready"
217270 break
218271 fi
219272 if [ $i -eq 60 ]; then
220- echo "✗ Timeout waiting for backend API"
273+ echo "Timeout waiting for backend API"
221274 exit 1
222275 fi
223276 echo "Waiting for backend... attempt $i/60"
@@ -249,27 +302,27 @@ tasks:
249302 - manual
250303 - postEnvironmentStart
251304 command : |
252- echo "🚀 Setting up Jira MCP server..."
253-
305+ echo "Setting up Jira MCP server..."
306+
254307 # Create config directory
255308 mkdir -p ~/.config/gitpod
256309
257310 # Clone and build Jira MCP if not already present
258311 if [ ! -d "/home/node/jira-mcp" ]; then
259- echo "📦 Cloning Jira MCP repository..."
312+ echo "Cloning Jira MCP repository..."
260313 cd /home/node
261314 git clone https://github.com/MankowskiNick/jira-mcp.git
262315 cd jira-mcp
263- echo "📦 Installing dependencies..."
316+ echo "Installing dependencies..."
264317 npm install
265- echo "🔨 Building project..."
318+ echo "Building project..."
266319 npm run build
267320 else
268- echo "✓ Jira MCP already installed"
321+ echo "Jira MCP already installed"
269322 fi
270323
271324 # Create MCP configuration file
272- echo "⚙️ Creating MCP configuration..."
325+ echo "Creating MCP configuration..."
273326 cat > ~/.config/gitpod/mcp-config.json << EOF
274327 {
275328 "mcpServers": {
@@ -291,23 +344,63 @@ tasks:
291344 }
292345 EOF
293346
347+ # Configure generic MCP client connection
348+ echo "Configuring MCP client connection..."
349+
350+ # Create generic MCP client config
351+ MCP_CLIENT_CONFIG="$HOME/.config/mcp/client-config.json"
352+ mkdir -p "$HOME/.config/mcp"
353+ cat > "$MCP_CLIENT_CONFIG" << EOF
354+ {
355+ "mcpServers": {
356+ "jira-mcp": {
357+ "command": "node",
358+ "args": ["/home/node/jira-mcp/build/index.js"],
359+ "env": {
360+ "JIRA_HOST": "\${JIRA_HOST:-coakley.atlassian.net}",
361+ "JIRA_USERNAME": "\${JIRA_USERNAME:-joe@gitpod.io}",
362+ "JIRA_API_TOKEN": "\${JIRA_API_TOKEN:-your_api_token_here}",
363+ "JIRA_PROJECT_KEY": "\${JIRA_PROJECT_KEY:-MBA}",
364+ "AUTO_CREATE_TEST_TICKETS": "true",
365+ "JIRA_ACCEPTANCE_CRITERIA_FIELD": "customfield_10429",
366+ "JIRA_STORY_POINTS_FIELD": "customfield_10040",
367+ "JIRA_EPIC_LINK_FIELD": "customfield_10014"
368+ }
369+ }
370+ }
371+ }
372+ EOF
373+
294374 # Test the MCP server if credentials are available
295375 if [ -n "\$JIRA_API_TOKEN" ] && [ "\$JIRA_API_TOKEN" != "your_api_token_here" ]; then
296- echo "🧪 Testing MCP server..."
376+ echo "Testing MCP server connection ..."
297377 cd /home/node/jira-mcp
298378
299- # Quick test to verify server works
300- if echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}' | timeout 5 node build/index.js >/dev/null 2>&1; then
301- echo "✅ Jira MCP server setup complete and tested! "
379+ # Test server initialization
380+ if echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}' | timeout 10 node build/index.js >/dev/null 2>&1; then
381+ echo "MCP server connection test successful "
302382 else
303- echo "⚠️ Jira MCP server setup complete but test failed"
383+ echo "MCP server connection test failed - check credentials "
304384 fi
305385 fi
306386
307- echo "📍 Configuration: ~/.config/gitpod/mcp-config.json"
308- echo "📍 Server location: /home/node/jira-mcp/"
309- echo "🎯 Project: MBA (coakley.atlassian.net)"
310- echo "🔧 Available tools: create-ticket, get-ticket, search-tickets, update-ticket, link-tickets, get-test-steps, add-test-steps"
387+ # Create a simple verification script
388+ echo '#!/bin/bash' > /tmp/verify-mcp-connection.sh
389+ echo 'echo "Verifying MCP configuration..."' >> /tmp/verify-mcp-connection.sh
390+ echo 'echo "Server config: $([ -f ~/.config/gitpod/mcp-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
391+ echo 'echo "Generic client config: $([ -f ~/.config/mcp/client-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
392+ echo 'echo "MCP server binary: $([ -f /home/node/jira-mcp/build/index.js ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
393+ chmod +x /tmp/verify-mcp-connection.sh
394+
395+ echo "Jira MCP server and client setup complete"
396+ echo "Server config: ~/.config/gitpod/mcp-config.json"
397+ echo "Generic client config: ~/.config/mcp/client-config.json"
398+ echo "Server location: /home/node/jira-mcp/"
399+ echo "Project: MBA (coakley.atlassian.net)"
400+ echo "Available tools: create-ticket, get-ticket, search-tickets, update-ticket, link-tickets, get-test-steps, add-test-steps"
401+ echo ""
402+ echo "Run '/tmp/verify-mcp-connection.sh' to verify the setup"
403+ echo "AI assistants may need to restart to pick up the new MCP configuration"
311404
312405 seedDatabase :
313406 name : " Seed Database"
@@ -322,11 +415,11 @@ tasks:
322415 echo "Waiting for PostgreSQL to be ready..."
323416 for i in {1..30}; do
324417 if PGPASSWORD=gitpod psql -h localhost -U gitpod -d gitpodflix -c "SELECT 1" >/dev/null 2>&1; then
325- echo "✓ PostgreSQL is ready"
418+ echo "PostgreSQL is ready"
326419 break
327420 fi
328421 if [ $i -eq 30 ]; then
329- echo "✗ Timeout waiting for PostgreSQL"
422+ echo "Timeout waiting for PostgreSQL"
330423 exit 1
331424 fi
332425 echo "Waiting for PostgreSQL... attempt $i/30"
@@ -337,16 +430,16 @@ tasks:
337430 PGPASSWORD=gitpod psql -h localhost -U gitpod -d gitpodflix -f seeds/movies_complete.sql
338431 sleep 2
339432
340- echo "Database seeding complete! 🎬 "
341- echo "✓ Movies with categories: 18"
342- echo "✓ Trending: 4 movies"
343- echo "✓ Popular: 4 movies"
344- echo "✓ Sci-Fi: 4 movies"
345- echo "✓ Award Winners: 4 movies"
346- echo "✓ Modern Blockbusters: 4 movies"
347- echo "✓ All movies have complete metadata (genres, trailers, cast, etc.)"
348- echo "✓ Fixed Moonlight image URL"
349- echo "✓ Optimized single-file structure"
433+ echo "Database seeding complete"
434+ echo "Movies with categories: 18"
435+ echo "Trending: 4 movies"
436+ echo "Popular: 4 movies"
437+ echo "Sci-Fi: 4 movies"
438+ echo "Award Winners: 4 movies"
439+ echo "Modern Blockbusters: 4 movies"
440+ echo "All movies have complete metadata (genres, trailers, cast, etc.)"
441+ echo "Fixed Moonlight image URL"
442+ echo "Optimized single-file structure"
350443
351444 clearDatabase :
352445 name : " Clear Database"
0 commit comments