How to contribute
You’re very welcome to make bug fixes or enhancements to this library. This document lays out the guidelines for how to get those changes into the main package repository. As it's a community project, we welcome all contributions, whether they are small bug fixes or large new features.
Getting Started
- Fork repository
- Keep it sync'ed while you are developing
- Install pyenv
- Install related atlassian product for testing through SDK or use the cloud instance
- apt install libkrb5-dev
- Install Kerberos Dependency:
pip install -r requirements-dev.txt
- Start up related product:
Standalone product atlas-run-standalone
For cloud product, just do registration
- Atlassian SDK in doker
- Build the image
make docker-atlassian-standalone
- Run an Atlassian standalone product
docker run -i -t -p 6990:6990 atlassian-sdk:latest atlas-run-standalone --product bamboo
Run the quality checks with make qa or if you have docker installed with make docker-qa
Send pull request
Mandatory conditions
- If you adding new method - add description to docs
- If you make changes in current methods - add changes to docs
- If you sent the PR, please validate via black
Please follow the code style in the docs.
Connect on Chat for any queries
Please message on chat-group link present in README.rst badge for any queries.
Before you raise a PR
Create the Commit Header with the relevant Service Name pre-fixed, examples below,
- Jira: review user module ✔️
- [Jira] Issues Move to Sprint ✔️
- Confluence: update_page_property method ✔️
An example of a commit message header,
- Addition of parameters for start & limit in the function of get_all_project_issues ❌
could be better written as,
- [Jira] Project Issues parameter addition for start and limit ✔️
with the commit body have a detail about where/what changes introduced.
This will help the reviewer or log-viewers to better identify what a particular commit is for.
Using your changes before they’re live
You may want to use the changes you’ve made to this library before the merging/review process has been completed. To do this you can install it into the global python environment by running this command from the top level directory.
pip install . --upgrade
The following command builds a package and uploads it to PIP repository.
python setup.py sdist upload
Alternative way
python -m pip install build twine python -m build twine upload dist/*
An alternative way you can use next command
python3 -m pip install git+https://github.com/atlassian-api/atlassian-python-api.git
References
All methods based on docs from: https://developer.atlassian.com/docs/
- Jira
- Jira Software
- Jira Service Desk
- Confluence
- Crowd
- Advanced Roadmaps (formerly Portfolio for Jira)
- Portfolio for Jira - Advanced Roadmaps
- Portfolio for Jira Teams - Advanced Roadmaps
- Insight
- Insight Server - Insight for Jira on-premises installation
- Insight Cloud - Insight for Jira in Atlassian Cloud
Credits
In addition to all the contributors we would like to thank to these companies: