
    
h
                        d Z ddlZddlZddlmZ ddlmZ  ej        e          Z	ddgZ
d e
D             Zer-e	                    de            e	                    d	            e            Z ed
          Zej        d             Zej        dd            Zej        d             Zej        d             Zej        	 	 dd            Zd Zd ZdS )zt
Jira MCP Tools for CQA Test Application
FastMCP-based Jira integration for issue management and project operations
    N)FastMCP)
JiraClientJIRA_URLJIRA_PERSONAL_TOKENc                 :    g | ]}t          j        |          |S  )osgetenv).0vars     A/Users/user/workspace/sujinbaek/cqa-test-app/products/mcp/jira.py
<listcomp>r      s%    GGG	#GGGG    z(Missing required environment variables: z<Jira tools may not function properly without these variableszCQA Jira MCP Serverc                  h    t                               d           t                                          S )z!List all accessible Jira projectszExecuting jira_list_projects)loggerinfojira_clientlist_projectsr   r   r   jira_list_projectsr      s)     KK.///$$&&&r   2   c                 r    t                               d|             t                              | |          S )zSearch Jira issues using JQL query

    Args:
        jql: JQL (Jira Query Language) query string
        max_results: Maximum number of results to return (default: 50)
    z'Executing jira_search_issues with jql: )r   r   r   search_issues)jqlmax_resultss     r   jira_search_issuesr   #   s5     KK?#??@@@$$S+666r   c                 p    t                               d|             t                              |           S )zwGet detailed information about a specific Jira issue

    Args:
        issue_key: Jira issue key (e.g., PROJ-123)
    z#Executing jira_get_issue with key: )r   r   r   	get_issue	issue_keys    r   jira_get_issuer    /   s3     KKAiAABBB  +++r   c                 p    t                               d|             t                              |           S )ziGet comments for a specific Jira issue

    Args:
        issue_key: Jira issue key (e.g., PROJ-123)
    z&Executing jira_get_comments with key: )r   r   r   get_issue_commentsr   s    r   jira_get_commentsr#   :   s3     KKDDDEEE)))444r   TaskMediumc                 x    t                               d|             t                              | ||||          S )a.  Create a new Jira issue

    Args:
        project_key: Jira project key
        summary: Issue summary/title
        description: Issue description
        issue_type: Issue type (e.g., Task, Bug, Story) (default: Task)
        priority: Issue priority (e.g., High, Medium, Low) (default: Medium)
    z Creating Jira issue in project: )r   r   r   create_issue)project_keysummarydescription
issue_typeprioritys        r   jira_create_issuer-   E   sB    " KK@;@@AAA##Wk:x  r   c                      t           S )z+Get the configured Jira MCP server instance)jira_mcpr   r   r   get_jira_mcp_serverr0   \   s    Or   c                  <    ddt                                           dS )zGet MCP server informationzcqa-jira-mcpz1.0.0)server_nameserver_versionjira_connected)r   is_connectedr   r   r   get_mcp_infor6   a   s(     &!%2244  r   )r   )r$   r%   )__doc__r	   loggingfastmcpr   lib.jira_clientr   	getLogger__name__r   required_env_varsmissing_varswarningr   r/   toolr   r   r    r#   r-   r0   r6   r   r   r   <module>rA      s   
 
			        & & & & & &		8	$	$  !67 GG0GGG S
NNLlLLMMM
NNQRRR jll 7()) 
' ' ' 
7 7 7 7 
, , , 
5 5 5 

    ,  
    r   