Help us improve
Share bugs, ideas, or general feedback.
From jiragenius
This skill covers all authentication methods for the Jira Cloud REST API.
npx claudepluginhub promptclickrun/jiragenius --plugin jirageniusHow this skill is triggered — by the user, by Claude, or both
Slash command
/jiragenius:authenticationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill covers all authentication methods for the Jira Cloud REST API.
Set up Jira Cloud integration for a project: verifies credentials, discovers custom fields and projects, and caches results as version-controlled JSON.
Manages Jira Cloud issues via jira CLI with JSON output: create, view, update, search issues, fetch hierarchies, manage sprints.
Share bugs, ideas, or general feedback.
This skill covers all authentication methods for the Jira Cloud REST API.
Generate a token at: https://id.atlassian.com/manage-profile/security/api-tokens
Jira Cloud uses your email and API token combined as Basic authentication:
# Using curl with inline encoding
curl -X GET \
-H "Authorization: Basic $(echo -n 'your-email@example.com:your-api-token' | base64)" \
-H "Accept: application/json" \
"https://your-domain.atlassian.net/rest/api/3/myself"
# Using curl's built-in basic auth
curl -u "your-email@example.com:your-api-token" \
-H "Accept: application/json" \
"https://your-domain.atlassian.net/rest/api/3/myself"
export JIRA_BASE_URL="https://your-domain.atlassian.net"
export JIRA_USER_EMAIL="your-email@example.com"
export JIRA_API_TOKEN="your-api-token"
# Then use in commands
curl -u "$JIRA_USER_EMAIL:$JIRA_API_TOKEN" \
-H "Accept: application/json" \
"$JIRA_BASE_URL/rest/api/3/myself"
OAuth 2.0 three-legged authorization flow for Jira Cloud:
Client ID and Client SecretRedirect users to:
https://auth.atlassian.com/authorize
?audience=api.atlassian.com
&client_id={YOUR_CLIENT_ID}
&scope=read:jira-work write:jira-work manage:jira-project manage:jira-configuration
&redirect_uri={YOUR_CALLBACK_URL}
&state={RANDOM_STATE}
&response_type=code
&prompt=consent
curl -X POST \
-H "Content-Type: application/json" \
"https://auth.atlassian.com/oauth/token" \
-d '{
"grant_type": "authorization_code",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"code": "AUTHORIZATION_CODE",
"redirect_uri": "YOUR_CALLBACK_URL"
}'
Response:
{
"access_token": "eyJ...",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "..."
}
curl -X GET \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Accept: application/json" \
"https://api.atlassian.com/oauth/token/accessible-resources"
Returns the cloud ID needed for API calls:
[
{
"id": "cloud-id-here",
"url": "https://your-domain.atlassian.net",
"name": "Your Site",
"scopes": [...]
}
]
curl -X GET \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Accept: application/json" \
"https://api.atlassian.com/ex/jira/{CLOUD_ID}/rest/api/3/myself"
curl -X POST \
-H "Content-Type: application/json" \
"https://auth.atlassian.com/oauth/token" \
-d '{
"grant_type": "refresh_token",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"refresh_token": "YOUR_REFRESH_TOKEN"
}'
| Scope | Description |
|---|---|
read:jira-work | Read Jira project and issue data |
write:jira-work | Create and edit issues, comments, worklogs |
manage:jira-project | Create and edit projects, manage versions and components |
manage:jira-configuration | Manage Jira settings, workflows, custom fields |
manage:jira-data-provider | Manage data providers |
read:jira-user | Read user information |
PATs are only available in Jira Data Center, not Jira Cloud. For Cloud, use API tokens or OAuth 2.0.
Every API request should include:
Authorization: Basic {base64(email:token)} # or Bearer {oauth_token}
Content-Type: application/json # for POST/PUT requests
Accept: application/json # for all requests
X-Atlassian-Token: no-check # required for file uploads only