jira-projects
Jiraのプロジェクト設定や課題タイプ、コンポーネント、バージョンなどを管理し、プロジェクト情報を効率的に把握するSkill。
📜 元の英語説明(参考)
Manage Jira projects. Use when listing projects, getting project configuration, retrieving issue types, or managing components and versions.
🇯🇵 日本人クリエイター向け解説
Jiraのプロジェクト設定や課題タイプ、コンポーネント、バージョンなどを管理し、プロジェクト情報を効率的に把握するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Jira Projects スキル
目的
Jiraプロジェクトの管理を行います。具体的には、プロジェクトの一覧表示、詳細の取得、課題タイプ、コンポーネント、バージョンの取得が可能です。
使用場面
- 利用可能なプロジェクトを一覧表示する場合
- プロジェクト設定を取得する場合
- プロジェクトの課題タイプを取得する場合
- プロジェクトのコンポーネントとバージョンを管理する場合
前提条件
- 認証済みのJiraClient(jira-authスキルを参照してください)
- プロジェクトの閲覧権限
実装パターン
ステップ1: 全てのプロジェクトを一覧表示する
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;
}
ステップ2: プロジェクトの詳細を取得する
async function getProject(
client: JiraClient,
projectKeyOrId: string,
expand?: string[]
): Promise<JiraProject> {
const params = expand ? `?expand=${expand.join(',')}` : '';
return client.request<JiraProject>(`/projects/${projectKeyOrId}${params}`);
}
ステップ3: プロジェクトの課題タイプを取得する
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;
}
ステップ4: プロジェクトのコンポーネントを取得する
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;
}
ステップ5: プロジェクトのバージョンを取得する
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 の例
プロジェクトを一覧表示する
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"
APIエンドポイントの概要
| 操作 | メソッド | パス |
|---|---|---|
| プロジェクトを一覧表示する | GET | /projects |
| プロジェクトを取得する | GET | /projects/{projectIdOrKey} |
| 課題タイプを取得する | GET | /projects/{projectIdOrKey}/issuetypes |
| コンポーネントを取得する | GET | /projects/{projectIdOrKey}/components |
| バージョンを取得する | GET | /projects/{projectIdOrKey}/versions |
展開オプション
description- プロジェクトの説明lead- プロジェクトリードのユーザー詳細issueTypes- 利用可能な課題タイプurl- プロジェクトのURLpermissions- 現在のユーザーの権限projectKeys- 全てのプロジェクトキー
よくある間違い
- キー/IDの代わりにプロジェクト名を使用する
- 大規模なプロジェクトリストのページネーションを忘れる
- アーカイブされたプロジェクトの処理をしない
参照
バージョン履歴
- 2025-12-10: 作成
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Jira Projects Skill
Purpose
Manage Jira projects - list, get details, retrieve issue types, components, and versions.
When to Use
- Listing available projects
- Getting project configuration
- Retrieving issue types for a project
- Managing project components and versions
Prerequisites
- Authenticated JiraClient (see jira-auth skill)
- Project browse permissions
Implementation Pattern
Step 1: List All Projects
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;
}
Step 2: Get Project Details
async function getProject(
client: JiraClient,
projectKeyOrId: string,
expand?: string[]
): Promise<JiraProject> {
const params = expand ? `?expand=${expand.join(',')}` : '';
return client.request<JiraProject>(`/projects/${projectKeyOrId}${params}`);
}
Step 3: Get Project Issue Types
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;
}
Step 4: Get Project Components
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;
}
Step 5: Get Project Versions
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 Examples
List Projects
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"
Get Project Details
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"
Get Issue Types
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"
API Endpoints Summary
| 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 |
Expand Options
description- Project descriptionlead- Project lead user detailsissueTypes- Available issue typesurl- Project URLpermissions- Current user permissionsprojectKeys- All project keys
Common Mistakes
- Using project name instead of key/ID
- Forgetting pagination for large project lists
- Not handling archived projects
References
Version History
- 2025-12-10: Created