jira-spaces
4
总安装量
4
周安装量
#49923
全站排名
安装命令
npx skills add https://github.com/01000001-01001110/agent-jira-skills --skill jira-spaces
Agent 安装分布
opencode
4
gemini-cli
4
claude-code
4
github-copilot
4
codex
4
kimi-cli
4
Skill 文档
Jira Spaces Skill
Manage Confluence spaces through the Confluence Cloud REST API. Spaces are the top-level containers for organizing project documentation, wikis, and knowledge bases.
When to Use
- Setting up documentation structure for a new project
- Creating spaces for different teams or initiatives
- Listing available spaces to find documentation
- Archiving or deleting obsolete spaces
Prerequisites
- Confluence Cloud instance (same Atlassian account as Jira)
- API token with Confluence access
- Environment variables configured in
.env
API Reference
Base URL
Confluence Cloud uses the same base URL as Jira Cloud but different API path:
https://your-domain.atlassian.net/wiki/rest/api
Authentication
Same as Jira – Basic Auth with email:token.
Key Endpoints
| Endpoint | Method | Description |
|---|---|---|
/space |
GET | List all spaces |
/space |
POST | Create a new space |
/space/{spaceKey} |
GET | Get space details |
/space/{spaceKey} |
DELETE | Delete a space |
/space/{spaceKey}/content |
GET | List space content |
Space Types
| Type | Description | Use Case |
|---|---|---|
global |
Site-wide space | Company wikis, shared docs |
personal |
User’s personal space | Individual notes, drafts |
Creating a Space
Request
const response = await fetch(`${CONFLUENCE_URL}/wiki/rest/api/space`, {
method: 'POST',
headers: {
'Authorization': `Basic ${auth}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
key: 'PROJ', // Unique space key (uppercase)
name: 'Project Docs', // Display name
type: 'global', // 'global' or 'personal'
description: {
plain: {
value: 'Documentation for the project',
representation: 'plain'
}
}
})
});
Response
{
"id": 12345,
"key": "PROJ",
"name": "Project Docs",
"type": "global",
"status": "current",
"_links": {
"webui": "/spaces/PROJ",
"self": "https://your-domain.atlassian.net/wiki/rest/api/space/PROJ"
}
}
Listing Spaces
Request
const response = await fetch(`${CONFLUENCE_URL}/wiki/rest/api/space?limit=25&type=global`, {
headers: {
'Authorization': `Basic ${auth}`,
'Accept': 'application/json'
}
});
Response
{
"results": [
{
"id": 12345,
"key": "PROJ",
"name": "Project Docs",
"type": "global",
"status": "current"
}
],
"start": 0,
"limit": 25,
"size": 1,
"_links": {}
}
Deleting a Space
WARNING: Deleting a space removes all pages and content permanently!
Request
const response = await fetch(`${CONFLUENCE_URL}/wiki/rest/api/space/PROJ`, {
method: 'DELETE',
headers: {
'Authorization': `Basic ${auth}`
}
});
Returns 202 Accepted (deletion is async) or 204 No Content.
Space Keys
Space keys must:
- Be unique across the Confluence instance
- Use only uppercase letters and numbers
- Be 1-255 characters
- Not start with a number
Conventions:
PROJ– Project-specificTEAM– Team-specificDOC– DocumentationKB– Knowledge base
Common Patterns
Create Project Documentation Space
// Create space with home page
await createSpace({
key: 'TUSTLE',
name: 'Tustle Project Documentation',
description: 'Technical documentation and guides for Tustle MVP'
});
// Add standard pages
await createPage('TUSTLE', 'Getting Started', 'Overview and setup instructions...');
await createPage('TUSTLE', 'Architecture', 'System architecture documentation...');
await createPage('TUSTLE', 'API Reference', 'API endpoint documentation...');
List Team Spaces
const spaces = await listSpaces({ type: 'global', limit: 50 });
const teamSpaces = spaces.filter(s => s.name.includes('Team'));
Error Handling
| Status | Meaning | Resolution |
|---|---|---|
| 400 | Invalid space key | Check key format (uppercase, no special chars) |
| 401 | Unauthorized | Check API token and email |
| 403 | Forbidden | User lacks space admin permissions |
| 404 | Space not found | Verify space key exists |
| 409 | Conflict | Space key already exists |
Scripts
| Script | Description |
|---|---|
create-space |
Create a new Confluence space |
delete-space |
Delete a space (with confirmation) |
list-spaces |
List all accessible spaces |
Usage Examples
# List all spaces
node run.js list-spaces
# Create a new space
node run.js create-space DOCS "Documentation Space"
# Delete a space (interactive confirmation)
node run.js delete-space DOCS
# Force delete without confirmation
node run.js delete-space DOCS --confirm
Related Skills
jira-projects– Jira project managementjira-issues– Issue creation for documentation tasks