jira-projects by 01000001-01001110/agent-jira-skills
npx skills add https://github.com/01000001-01001110/agent-jira-skills --skill jira-projects管理 Jira 项目 - 列出项目、获取详细信息、检索问题类型、组件和版本。
interface JiraProject {
id: string;
key: string;
name: string;
projectTypeKey: string;
simplified: boolean;
style: string;
avatarUrls: Record<string, string>;
description?: string;
lead?: {
accountId: string;
displayName: string;
};
}
interface ProjectsResponse {
values: JiraProject[];
startAt: number;
maxResults: number;
total: number;
isLast: boolean;
}
async function listProjects(
client: JiraClient,
options: {
status?: 'LIVE' | 'ARCHIVED' | 'DELETED';
expand?: string[];
maxResults?: number;
startAt?: number;
} = {}
): Promise<JiraProject[]> {
const params = new URLSearchParams();
if (options.status) params.set('status', options.status);
if (options.expand) params.set('expand', options.expand.join(','));
if (options.maxResults) params.set('maxResults', String(options.maxResults));
if (options.startAt) params.set('startAt', String(options.startAt));
const response = await client.request<ProjectsResponse>(
`/projects?${params.toString()}`
);
return response.values;
}
Manage Jira projects - list, get details, retrieve issue types, components, and versions.
interface JiraProject {
id: string;
key: string;
name: string;
projectTypeKey: string;
simplified: boolean;
style: string;
avatarUrls: Record<string, string>;
description?: string;
lead?: {
accountId: string;
displayName: string;
};
}
interface ProjectsResponse {
values: JiraProject[];
startAt: number;
maxResults: number;
total: number;
isLast: boolean;
}
async function listProjects(
client: JiraClient,
options: {
status?: 'LIVE' | 'ARCHIVED' | 'DELETED';
expand?: string[];
maxResults?: number;
startAt?: number;
} = {}
): Promise<JiraProject[]> {
const params = new URLSearchParams();
if (options.status) params.set('status', options.status);
if (options.expand) params.set('expand', options.expand.join(','));
if (options.maxResults) params.set('maxResults', String(options.maxResults));
if (options.startAt) params.set('startAt', String(options.startAt));
const response = await client.request<ProjectsResponse>(
`/projects?${params.toString()}`
);
return response.values;
}
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
async function getProject(
client: JiraClient,
projectKeyOrId: string,
expand?: string[]
): Promise<JiraProject> {
const params = expand ? `?expand=${expand.join(',')}` : '';
return client.request<JiraProject>(`/projects/${projectKeyOrId}${params}`);
}
interface IssueType {
id: string;
name: string;
description: string;
iconUrl: string;
subtask: boolean;
hierarchyLevel: number;
}
async function getProjectIssueTypes(
client: JiraClient,
projectKeyOrId: string
): Promise<IssueType[]> {
const response = await client.request<{ values: IssueType[] }>(
`/projects/${projectKeyOrId}/issuetypes`
);
return response.values;
}
interface Component {
id: string;
name: string;
description?: string;
lead?: {
accountId: string;
displayName: string;
};
project: string;
projectId: number;
}
async function getProjectComponents(
client: JiraClient,
projectKeyOrId: string
): Promise<Component[]> {
const response = await client.request<{ values: Component[] }>(
`/projects/${projectKeyOrId}/components`
);
return response.values;
}
interface Version {
id: string;
name: string;
description?: string;
archived: boolean;
released: boolean;
releaseDate?: string;
startDate?: string;
overdue: boolean;
}
async function getProjectVersions(
client: JiraClient,
projectKeyOrId: string,
options: {
status?: 'UNRELEASED' | 'RELEASED' | 'ARCHIVED';
expand?: string[];
} = {}
): Promise<Version[]> {
const params = new URLSearchParams();
if (options.status) params.set('status', options.status);
if (options.expand) params.set('expand', options.expand.join(','));
const response = await client.request<{ values: Version[] }>(
`/projects/${projectKeyOrId}/versions?${params.toString()}`
);
return response.values;
}
curl -X GET "https://mycompany.atlassian.net/rest/api/3/projects?expand=description,issueTypes&status=LIVE" \
-H "Authorization: Basic $(echo -n 'email:token' | base64)" \
-H "Accept: application/json"
curl -X GET "https://mycompany.atlassian.net/rest/api/3/projects/PROJECT?expand=issueTypes,permissions" \
-H "Authorization: Basic $(echo -n 'email:token' | base64)" \
-H "Accept: application/json"
curl -X GET "https://mycompany.atlassian.net/rest/api/3/projects/PROJECT/issuetypes" \
-H "Authorization: Basic $(echo -n 'email:token' | base64)" \
-H "Accept: application/json"
| 操作 | 方法 | 路径 |
|---|---|---|
| 列出项目 | GET | /projects |
| 获取项目 | GET | /projects/{projectIdOrKey} |
| 获取问题类型 | GET | /projects/{projectIdOrKey}/issuetypes |
| 获取组件 | GET | /projects/{projectIdOrKey}/components |
| 获取版本 | GET | /projects/{projectIdOrKey}/versions |
description - 项目描述lead - 项目负责人用户详情issueTypes - 可用问题类型url - 项目 URLpermissions - 当前用户权限projectKeys - 所有项目键每周安装次数
5
代码库
GitHub 星标数
3
首次出现
2026年2月20日
安全审计
安装于
opencode5
claude-code5
github-copilot5
codex5
amp5
kimi-cli5
async function getProject(
client: JiraClient,
projectKeyOrId: string,
expand?: string[]
): Promise<JiraProject> {
const params = expand ? `?expand=${expand.join(',')}` : '';
return client.request<JiraProject>(`/projects/${projectKeyOrId}${params}`);
}
interface IssueType {
id: string;
name: string;
description: string;
iconUrl: string;
subtask: boolean;
hierarchyLevel: number;
}
async function getProjectIssueTypes(
client: JiraClient,
projectKeyOrId: string
): Promise<IssueType[]> {
const response = await client.request<{ values: IssueType[] }>(
`/projects/${projectKeyOrId}/issuetypes`
);
return response.values;
}
interface Component {
id: string;
name: string;
description?: string;
lead?: {
accountId: string;
displayName: string;
};
project: string;
projectId: number;
}
async function getProjectComponents(
client: JiraClient,
projectKeyOrId: string
): Promise<Component[]> {
const response = await client.request<{ values: Component[] }>(
`/projects/${projectKeyOrId}/components`
);
return response.values;
}
interface Version {
id: string;
name: string;
description?: string;
archived: boolean;
released: boolean;
releaseDate?: string;
startDate?: string;
overdue: boolean;
}
async function getProjectVersions(
client: JiraClient,
projectKeyOrId: string,
options: {
status?: 'UNRELEASED' | 'RELEASED' | 'ARCHIVED';
expand?: string[];
} = {}
): Promise<Version[]> {
const params = new URLSearchParams();
if (options.status) params.set('status', options.status);
if (options.expand) params.set('expand', options.expand.join(','));
const response = await client.request<{ values: Version[] }>(
`/projects/${projectKeyOrId}/versions?${params.toString()}`
);
return response.values;
}
curl -X GET "https://mycompany.atlassian.net/rest/api/3/projects?expand=description,issueTypes&status=LIVE" \
-H "Authorization: Basic $(echo -n 'email:token' | base64)" \
-H "Accept: application/json"
curl -X GET "https://mycompany.atlassian.net/rest/api/3/projects/PROJECT?expand=issueTypes,permissions" \
-H "Authorization: Basic $(echo -n 'email:token' | base64)" \
-H "Accept: application/json"
curl -X GET "https://mycompany.atlassian.net/rest/api/3/projects/PROJECT/issuetypes" \
-H "Authorization: Basic $(echo -n 'email:token' | base64)" \
-H "Accept: application/json"
| Operation | Method | Path |
|---|---|---|
| List projects | GET | /projects |
| Get project | GET | /projects/{projectIdOrKey} |
| Get issue types | GET | /projects/{projectIdOrKey}/issuetypes |
| Get components | GET | /projects/{projectIdOrKey}/components |
| Get versions | GET | /projects/{projectIdOrKey}/versions |
description - Project descriptionlead - Project lead user detailsissueTypes - Available issue typesurl - Project URLpermissions - Current user permissionsprojectKeys - All project keysWeekly Installs
5
Repository
GitHub Stars
3
First Seen
Feb 20, 2026
Security Audits
Installed on
opencode5
claude-code5
github-copilot5
codex5
amp5
kimi-cli5
Word文档处理器:DOCX创建、编辑、分析与修订痕迹处理全指南 | 自动化办公解决方案
1,200 周安装