Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

stashy
======

Python API client for the Atlassian Stash REST API

Installation
------------

::

pip install stashy

Usage
-----

::

import stashy
stash = stashy.connect("http://localhost:7990/stash", "admin", "admin")

Examples
--------

- Retrieve all groups

::

stash.admin.groups.list()

- Retrieve all users that match a given filter

::

stash.admin.users.list(filter="admin")

- Add a user to a group

::

stash.admin.groups.add_user('stash-users', 'admin')

- Iterate over all projects (that you have access to)

::

stash.projects.list()

- List all the repositories in a given project

::

stash.projects[PROJECT].repos.list()

- List all the commits in a pull request

::

list(stash.projects[PROJECT].repos[REPO].pull_requests.commits())

Implemented
-----------

::

/admin/groups [DELETE, GET, POST]
/admin/groups/add-user [POST]
/admin/groups/more-members [GET]
/admin/groups/more-non-members [GET]
/admin/groups/remove-user [POST]
/admin/users [GET, POST, DELETE, PUT]
/admin/users/add-group [POST]
/admin/users/credentials [PUT]
/admin/users/more-members [GET]
/admin/users/more-non-members [GET]
/admin/users/remove-group [POST]
/admin/permissions/groups [GET, PUT, DELETE]
/admin/permissions/groups/none [GET]
/admin/permissions/users [GET, PUT, DELETE]
/admin/permissions/users/none [GET]
/groups [GET]
/projects [POST, GET]
/projects/{projectKey} [DELETE, PUT, GET]
/projects/{projectKey}/permissions/groups [GET, PUT, DELETE]
/projects/{projectKey}/permissions/groups/none [GET]
/projects/{projectKey}/permissions/users [GET, PUT, DELETE]
/projects/{projectKey}/permissions/users/none [GET]
/projects/{projectKey}/permissions/{permission}/all [GET, POST]
/projects/{projectKey}/repos [POST, GET]
/projects/{projectKey}/repos/{repositorySlug} [DELETE, POST, PUT, GET]
/projects/{projectKey}/repos/{repositorySlug}/branches [GET]
/projects/{projectKey}/repos/{repositorySlug}/branches/default [GET, PUT]
/projects/{projectKey}/repos/{repositorySlug}/changes [GET]
/projects/{projectKey}/repos/{repositorySlug}/commits [GET]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests [GET, POST]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId} [GET, PUT]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/activities [GET]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/decline [POST]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/merge [GET, POST]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/reopen [POST]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/approve [POST, DELETE]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/changes [GET]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/commits [GET]
/projects/{projectKey}/repos/{repositorySlug}/settings/hooks [GET]
/projects/{projectKey}/repos/{repositorySlug}/settings/hooks/{hookKey} [GET]
/projects/{projectKey}/repos/{repositorySlug}/settings/hooks/{hookKey}/enabled [PUT, DELETE]
/projects/{projectKey}/repos/{repositorySlug}/settings/hooks/{hookKey}/settings [PUT, GET]
/projects/{projectKey}/repos/{repositorySlug}/tags [GET]

Not yet implemented
-------------------

::

/admin/mail-server [DELETE]
/application-properties [GET]
/hooks/{hookKey}/avatar [GET]
/logs/logger/{loggerName} [GET]
/logs/logger/{loggerName}/{levelName} [PUT]
/logs/rootLogger [GET]
/logs/rootLogger/{levelName} [PUT]
/markup/preview [POST]
/profile/recent/repos [GET]
/projects/{projectKey}/avatar.png [GET, POST]
/projects/{projectKey}/repos/{repositorySlug}/recreate [POST]
/projects/{projectKey}/repos/{repositorySlug}/browse [GET]
/projects/{projectKey}/repos/{repositorySlug}/browse/{path:.*} [GET]
/projects/{projectKey}/repos/{repositorySlug}/commits/{changesetId:.*} [GET]
/projects/{projectKey}/repos/{repositorySlug}/diff/{path:.*} [GET]
/projects/{projectKey}/repos/{repositorySlug}/files [GET]
/projects/{projectKey}/repos/{repositorySlug}/files/{path:.*} [GET]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/comments [POST]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/comments/{commentId} [DELETE, PUT, GET]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/diff [GET]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/diff/{path:.*} [GET]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/participants [GET, DELETE, POST]
/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/watch [POST, DELETE]
/users [GET, PUT]
/users/credentials [PUT]

Metadata

Release files for stashyEvry 0.1a1dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stashyEvry 0.1a1dev0
File Size Uploaded Provenance Actions
stashyEvry-0.1a1dev0.tar.gz 9.3 kB Without provenance Details for stashyEvry-0.1a1dev0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for stashyEvry 0.1a1dev0
File Interpreter ABI Platform Actions
stashyEvry-0.1a1dev0.linux-x86_64.tar.gz Details for stashyEvry-0.1a1dev0.linux-x86_64.tar.gz

Total release size: 29.6 kB

Release files / stashyEvry-0.1a1dev0.tar.gz

Download URL stashyEvry-0.1a1dev0.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
60e61e04cefe59a0a6afd3c892f23504c3f3d48bdd4d72a0cae0d7e1773443ae
BLAKE2b-256 checksum
How to use checksums
e279bc791fac89d52821333c79401ab76425c0dc46f79d0f1d5389d45b38f446
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / stashyEvry-0.1a1dev0.linux-x86_64.tar.gz

Download URL stashyEvry-0.1a1dev0.linux-x86_64.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
01586205f82d3923053791a4edee80d72b4115795fa25aa22bccdbd2b4f434f3
BLAKE2b-256 checksum
How to use checksums
a1cd10db39e1881562c661e8fe09e50651f8e4f1d99924637bc9c493d407cf18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for stashyEvry 0.1a1dev0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page