Skip to content

JIRA Integration

Full JIRA Cloud integration with 21 endpoints.

Configuration

json
{
  "credentials": {
    "jira": {
      "baseUrl": "https://your-org.atlassian.net",
      "email": "{{env.JIRA_EMAIL}}",
      "apiToken": "{{env.JIRA_API_TOKEN}}"
    }
  }
}

Endpoints

Issues

MethodEndpointDescription
GET/integrations/jira/issues/:keyGet issue
POST/integrations/jira/issuesCreate issue
PUT/integrations/jira/issues/:keyUpdate issue
DELETE/integrations/jira/issues/:keyDelete issue
GET/integrations/jira/searchSearch issues (JQL)

Projects

MethodEndpointDescription
GET/integrations/jira/projectsList projects
GET/integrations/jira/projects/:keyGet project

Transitions

MethodEndpointDescription
GET/integrations/jira/issues/:key/transitionsGet transitions
POST/integrations/jira/issues/:key/transitionsTransition issue

Users

MethodEndpointDescription
GET/integrations/jira/users/searchSearch users
GET/integrations/jira/myselfGet current user

Actions (for workflows)

getIssue

json
{
  "integration": "jira",
  "action": "getIssue",
  "params": {
    "issueKey": "PROJ-123"
  }
}

createIssue

json
{
  "integration": "jira",
  "action": "createIssue",
  "params": {
    "projectKey": "PROJ",
    "summary": "New issue",
    "description": "Details...",
    "issueType": "Task"
  }
}

updateIssue

json
{
  "integration": "jira",
  "action": "updateIssue",
  "params": {
    "issueKey": "PROJ-123",
    "fields": {
      "summary": "Updated title",
      "priority": { "name": "High" }
    }
  }
}

searchIssues

json
{
  "integration": "jira",
  "action": "searchIssues",
  "params": {
    "jql": "project = PROJ AND status = Open",
    "maxResults": 50
  }
}

transitionIssue

json
{
  "integration": "jira",
  "action": "transitionIssue",
  "params": {
    "issueKey": "PROJ-123",
    "transitionId": "31"
  }
}

Examples

Get Issue

bash
curl http://localhost:3000/integrations/jira/issues/PROJ-123 \
  -H "Authorization: Bearer <token>"

Create Issue

bash
curl -X POST http://localhost:3000/integrations/jira/issues \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "project": { "key": "PROJ" },
      "summary": "New bug",
      "issuetype": { "name": "Bug" }
    }
  }'

Search Issues

bash
curl "http://localhost:3000/integrations/jira/search?jql=status=Open" \
  -H "Authorization: Bearer <token>"

Workflow Example

json
{
  "id": "analyze-ticket",
  "steps": [
    {
      "id": "fetch",
      "type": "integration",
      "integration": "jira",
      "action": "getIssue",
      "params": { "issueKey": "&#123;&#123;input.key&#125;&#125;" }
    },
    {
      "id": "analyze",
      "type": "llm",
      "prompt": "Analyze: &#123;&#123;steps.fetch.result.fields.summary&#125;&#125;"
    },
    {
      "id": "comment",
      "type": "integration",
      "integration": "jira",
      "action": "addComment",
      "params": {
        "issueKey": "&#123;&#123;input.key&#125;&#125;",
        "body": "&#123;&#123;steps.analyze.result&#125;&#125;"
      }
    }
  ]
}

Released under the ISC License.