Skip to content

Latest commit

 

History

History
106 lines (78 loc) · 2.83 KB

README.rst

File metadata and controls

106 lines (78 loc) · 2.83 KB

Welcome to Django-Atlassian

Django-atlassian allows you to build a Atlassian Connect apps using Django, it includes:
  • JWT support
  • Jira's django db backend
  • Confluence's django db backend

Installation

Download and install using pip install django-atlassina

$ pip install django-atlassian

Example Configuration

Backend mode

DATABASES = {
    'jira': {
        'ENGINE': 'django_atlassian.backends.jira',
        'NAME': 'https://your-site.atlassian.net',
        'USER': '', # Your user
        'PASSWORD': '', # Your password
        'SECURITY': '',
    },

DATABASE_ROUTERS = ['django_atlassian.router.Router']

Application mode

In this mode, you setup a database configuration to connect to a specific Jira/Confluence cloud instance. All custom fields will be automatically introspected.

Setup the router to make the connected host model be accessed through their own database:

DATABASE_ROUTERS = ['django_atlassian.router.Router']

ALLOWED_HOSTS = ['<ID>.ngrok.io']

Create a basic atlassian-connect.json template file:

{
    "name": "<Your app name>",
    "description": "<Your app description>",
    "key": "<Your app private key>",
    "baseUrl": "<Your host set on ALLOWED_HOSTS>",
    "vendor": {
        "name": "<Your company>",
        "url": "<Your website>",
    },
    "authentication": {
        "type": "jwt"
    },
    "lifecycle": {
        "installed": "{% url 'django-atlassian-installed' %}"
    },
    "scopes": [
        "read", "write"
    ],
    "apiVersion": 1,
    "modules": {
    }
}

Contributing

If you'd like to contribute, the best approach is to send a well-formed pull request, complete with tests and documentation. Pull requests should be focused: trying to do more than one thing in a single request will make it more difficult to process.

References

Database implementation:

Dynamic model field injection: