diff --git a/langchain/utilities/jira.py b/langchain/utilities/jira.py index e7f5596b..dd94fa78 100644 --- a/langchain/utilities/jira.py +++ b/langchain/utilities/jira.py @@ -159,7 +159,7 @@ class JiraAPIWrapper(BaseModel): "json is not installed. " "Please install it with `pip install json`" ) params = json.loads(query) - return self.jira.create_issue(fields=dict(params)) + return self.jira.issue_create(fields=dict(params)) def other(self, query: str) -> str: context = {"self": self} diff --git a/tests/integration_tests/.env.example b/tests/integration_tests/.env.example index 6b39afda..cf9cab60 100644 --- a/tests/integration_tests/.env.example +++ b/tests/integration_tests/.env.example @@ -6,4 +6,12 @@ OPENAI_API_KEY= # your api key from left menu "API Keys" in https://app.pinecone.io PINECONE_API_KEY=your_pinecone_api_key_here # your pinecone environment from left menu "API Keys" in https://app.pinecone.io -PINECONE_ENVIRONMENT=us-west4-gcp \ No newline at end of file +PINECONE_ENVIRONMENT=us-west4-gcp + + +# jira +# your api token from https://id.atlassian.com/manage-profile/security/api-tokens +# more details here: https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html +# JIRA_API_TOKEN=your_jira_api_token_here +# JIRA_USERNAME=your_jira_username_here +# JIRA_INSTANCE_URL=your_jira_instance_url_here \ No newline at end of file diff --git a/tests/integration_tests/utilities/test_jira_api.py b/tests/integration_tests/utilities/test_jira_api.py new file mode 100644 index 00000000..18d60914 --- /dev/null +++ b/tests/integration_tests/utilities/test_jira_api.py @@ -0,0 +1,24 @@ +"""Integration test for JIRA API Wrapper.""" +from langchain.utilities.jira import JiraAPIWrapper +import json + +def test_search() -> None: + """Test for Searching issues on JIRA""" + jql = "project = TP" + jira = JiraAPIWrapper() + output = jira.run("jql", jql) + assert 'issues' in output + +def test_getprojects() -> None: + """Test for getting projects on JIRA""" + jira = JiraAPIWrapper() + output = jira.run("get_projects", "") + assert 'projects' in output + +def test_create_ticket() -> None: + """Test the Create Ticket Call that Creates a Issue/Ticket on JIRA.""" + issue_string = '{"summary": "Test Summary", "description": "Test Description", "issuetype": {"name": "Bug"}, "project": {"key": "TP"}}' + jira = JiraAPIWrapper() + output = jira.run("create_issue", issue_string) + assert 'id' in output + assert 'key' in output \ No newline at end of file