danstis / ado-asana-sync Goto Github PK
View Code? Open in Web Editor NEWWIP: A tool to sync tasks from Azure DevOps -> Asana
License: MIT License
WIP: A tool to sync tasks from Azure DevOps -> Asana
License: MIT License
As a developer, I want to ensure all PRs have linked labels, so the release notes sections are properly populated.
ado_asana_sync/sync/sync.py: error: Source file found twice under different module names: "sync.sync" and "ado_asana_sync.sync.sync"
ado_asana_sync/sync/sync.py: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#mapping-file-paths-to-modules for more info
ado_asana_sync/sync/sync.py: note: Common resolutions include: a) adding `__init__.py` somewhere, b) using `--explicit-package-bases` or adjusting MYPYPATH
Found 1 error in 1 file (errors prevented further checking)
As a developer, I want the readme updated to be accurate with the current Python version of the application, so others have the correct information.
add sonar cloud badge
remove go link
As a developer, I want the Asana workspace name moved into the global config from the environment variables, so it is obvious there can be only one.
As a developer, I want the PYTHON_VERSION
variable for the build and release pipelines moved into a repo variable, so I don't have to update the builds if I want to change the version.
As a user, I want to have all child tasks of an ADO item to be synced as subtasks on the Asana item.
as a user, I want to have the option to add a tag in ADO to force an item to sync to Asana, so I can sync tasks that do not meet the normal sync rules.
As a user, I want a mapping created that assigns priorities on the Asana work items based on the ADO priority, so the priority of the tasks align.
as a user, I want the sync process to only sync tasks that are assigned to a user that exists in Asana, so it does not sync unrelated tasks.
The user mapping between ADO and Asana should be created based on email if they match.
As a user of the app, I want the binary version of the package published on PyPI, so I can easily find and install it.
As a user, I want multiple levels of backlog items to be enabled to sync to asana based on matching names, so items are synced to a known project in asana.
The mapping of items should follow the below rules:
ADO | Asana |
---|---|
Project - Team | Project |
Epic | (Additional Project if matching / Section if matching) |
Feature | (Additional Project if matching / Section if matching) |
Work Item | Task |
Task | Subtask |
As a user, I want the sync to use an Asana app, so I don't have to create a user to perform the sync tasks.
As a user, I want the sync app to handle the case where my email address is different in ADO vs Asana, so the tasks properly sync.
When new tasks are created, they are not properly getting the synced tag in asana.
As a developer, I want the build pipeline to be updated to support the python version of the application, so I know that my changes are correct.
This pipeline should:
perform tagging of the commits
produce a release on github
add a github discussion item for the release
As a user, I want the synced tasks to track each other based on IDs, so I can rename tasks on either side without breaking the item relationship.
On every sync, ADO items that have been set to the removed state are re-opened in Asana.
They should be set to completed in Asana.
As a user, I want the tag check and creation to happen once per sync round rather than once per project, so I don't have to wait for it many times during a single sync run.
The synced tasks contain a link to the API workitem, not the regular web UI.
As a user, I want the release build to be attached to the GitHub release, so I can reference the built files for each version.
As a user, I want any item that has be synced to be updated even if the task becomes unassigned in ADO or Asana, so it is correctly closed when it is completed.
This will enable the use case where a user in ADO that is not also in Asana is assigned a task, then completes it.
As a user, I expect items created in ADO to have a matching item created in Asana.
Item types that are copied/synced should be configurable.
The service should create some binding key/id to enable future updates to the copied tasks.
As a user, I only want only tasks that are still open to be synced to Asana, so old closed tasks are not synced.
As a user, I want the instructions for how to use the app added to the readme file, so I know how this all works.
As a user, I want the title of the synced tasks updated if the ADO task title is updated, so I don't get duplicate tasks if they are renamed.
As a user, I want the state of items to be synced from ADO to Asana, so items that are closed in ADO are closed in Asana.
As a developer, I want to swap out the use of an Asana PAT with a proper Asana app, so I don't have to create a sync user to own the PAT.
As a developer, I want the entrypoint for the app to follow recommended practice, so it is obvious how the app is launched.
As a user, I want items to be able to re-open in Asana if they are re-opened on ADO, so I know to start working on them again in Asana.
As a user, I want the readme to link to the PyPI details of the package, so I know how to obtain the package.
As a developer, I want the builds to be versioned with Python compatible version number, so it aligns with the python standards.
As a developer, I want the asana workspace variable added to the docker file, so the new config is done everywhere.
As a user, I want open Pull Requests in ADO to create a linked task in Asana, so I can track open Pull Requests.
As a developer, I want the build process to generate a binary version of the application with the correct version number based on the build and tags, so the version is integrated into the application.
The version in the default pyproject.toml
file should be hardcoded to something that represents development (0.0.0-dev) and have the build process update the version before creating the built binary.
As a user, I want the sync process to happen continuously on a schedule, so I don't have to run it each time I want items synced or updated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.