Basic Youtrack CLI in python
Project description
YouTrack Python CLI
Installation
❯ pip install youtrack-python-cli
# OR, if you use virtualenvs or conda envs in your working repo, use pipx:
❯ pipx install youtrack-python-cli
Configuration
The script needs a YouTrack URL to target API requests, and a token for auth.
3 configuration methods:
-
set into current repo's git config:
❯ git config youtrack.token "$YOUTRACK_TOKEN" ❯ git config youtrack.url https://your-youtrack-server/api
-
set via environment variables,
YOUTRACK_URL
andYOUTRACK_TOKEN
-
set via command line parameters,
--url
and--token
Usage
As git pre-push hook
See the pre-push
example, which can be copied directly into
.git/hooks/pre-push
. That example checks the commit title for the YouTrack
ticket ID as the first item, for example EXAMPLE-1234 some commit title
.
Running standalone
❯ youtrack-cli --url "https://your-youtrack-server/api" --token $YOUTRACK_TOKEN get --confirm-prompt --ticket example-1234
Issue data for example-1234
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Key ┃ Value ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ idReadable │ EXAMPLE-9377 │
├───────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ summary │ Test ticket title │
├───────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ assignee_name │ Jane Doe │
├───────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ reporter_name │ jane │
├───────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ description │ Long description, truncated to max of 1024 characters │
├───────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ url │ https://your-youtrack-server/issue/EXAMPLE-1234 │
└───────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Type the ticket id to confirm: example-1234
Development
Releasing
Manual (TODO this should happen via tag push automatically!). Steps are:
# 1. bump version, eg just the patch:
❯ poetry version patch
Bumping version from 0.1.1 to 0.1.2
# 2. store version for remaining commands
❯ _VER=$(poetry version --short)
# 3. Save version bump
❯ git add . && git commit -m "Bump version to ${_VER}"
# 4. Create annotated tag
❯ git tag -a {-m=,}${_VER}
# 5. Push
❯ git push && git push --tags
# 6. Build pypi release artifacts
❯ rm -rf dist && poetry build
# 7. Publish
❯ poetry publish --username=__token__ --password=$(<~/.noahp-pypi-pw)
# 8. Github release stuff
❯ gh release create --generate-notes ${_VER}
❯ gh release upload ${_VER} dist/*
And all-in-one for copy paste:
poetry version patch \
&& _VER=$(poetry version --short) \
&& git add . \
&& git commit -m "Bump version to ${_VER}" \
&& git tag -a {-m=,}${_VER} \
&& git push && git push --tags \
&& rm -rf dist && poetry build \
&& poetry publish --username=__token__ --password=$(<~/.noahp-pypi-pw) \
&& gh release create --generate-notes ${_VER} \
&& gh release upload ${_VER} dist/*
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for youtrack_python_cli-0.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaa3b63ba645c15b8aecd1211af0bf551dc6a3fc905aacd8aa3544690b9f43ac |
|
MD5 | a52cbf0c5166bf317a8426ec926c4b95 |
|
BLAKE2b-256 | 0600fc693b4f8887d9acc42add159edb1bfea80fc83a368e798a93762964c451 |
Close
Hashes for youtrack_python_cli-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24ca2ccf560d65c5a0d6aef301894866db79bf561ce45790483166225acf0ec9 |
|
MD5 | 5aead068ff1975270fa873311157b295 |
|
BLAKE2b-256 | f5ed710dbaba56179c4ab210b76a50e9f0b14c3d674da50dbcf96827a8764013 |