https://github.com/joachimdalen/azdevops-auto-state
Auto State is an extension to automate state changes of parent work items.
https://github.com/joachimdalen/azdevops-auto-state
auto-update azure-boards azure-devops azure-devops-extension hacktoberfest
Last synced: 5 months ago
JSON representation
Auto State is an extension to automate state changes of parent work items.
- Host: GitHub
- URL: https://github.com/joachimdalen/azdevops-auto-state
- Owner: joachimdalen
- License: mit
- Created: 2021-11-28T12:09:18.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-22T05:49:02.000Z (over 3 years ago)
- Last Synced: 2024-07-30T17:11:26.014Z (almost 2 years ago)
- Topics: auto-update, azure-boards, azure-devops, azure-devops-extension, hacktoberfest
- Language: TypeScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=joachimdalen.auto-state
- Size: 2.94 MB
- Stars: 6
- Watchers: 4
- Forks: 2
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Auto State
Auto State is an extension to automate state changes of parent work items.
Explore the docs »
View Extension
·
Changelog
·
Report Bug
·
Request Feature
Table of Contents
-
About The Project
- Post Install Activation
-
Getting Started
- Usage
- Roadmap
- Contributing
- Release and merge strategy
- License
- Contact
---
## About The Project
![Product Name Screen Shot][product-screenshot]
An issue I often face is forgetting to update the state of a parent workitem when starting a new Task. This extension aims to auto update parent workitems based on a set of rules when the child workitem is started.
**Features:**
- Create rules to manage state transitions
- Ability to check that all child work items also matches rules
- Ability to process rules from the current work item to the top of the tree
- Rule tester to see how rules work and what work items will be updated
- Get started easily by using preset rules. See [preset rules](./docs/PRESETS.md)
### Limitations
- This extension does not work when doing mass updates
- The state **must** be updated from the work item form for the update to trigger
## Post Install Activation
Auto State is hidden behind a feature flag for several reasons. After installing the extension a Project or Organization administrator will need to toggle the feature flag to `On` in the [Preview Features](https://docs.microsoft.com/en-us/azure/devops/project/navigation/preview-features?view=azure-devops&tabs=new-account-enabled#enable-features-for-your-use) menu. This feature flag is scoped to individual projects, that means you need to be inside a project for the feature flag to appear. The url should look something like `https://dev.azure.com/ORGANIZATION/PROJECT`
When you open the modal with all the feature flags the dropdown should have three options
- `for me [Your name]`
- `for this project [Project Name]` (This is the one you should select)
- `for this organization [Organization Name]`
![Feature Toggle][feature-toggle-screenshot]
## Getting Started
### Prerequisites
- A MarketPlace publisher [Create a publisher](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#create-a-publisher)
- `tfx-cli` installed. Due to issues with outdated dependencies this is not included in `package.json`
```sh
npm install -g tfx-cli
```
- Pipelines uses the following extensions that needs to be installed in your organization in addition to default tasks:
- [GitGuard](https://marketplace.visualstudio.com/items?itemName=joachimdalen.gitguard) - Used to verify changes to files, such as changelog.
- [Azure DevOps Extension Tasks](https://marketplace.visualstudio.com/items?itemName=ms-devlabs.vsts-developer-tools-build-tasks) - Used to build and publish extension.
### Installation
1. Clone the repo
```sh
git clone https://github.com/joachimdalen/azdevops-auto-state.git
```
2. Install dependencies
```sh
> npm install
```
3. Update publisher in `vss-extension-dev.json`
4. Compile development version
```sh
npm run prepare:dev
```
5. [Publish extension](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#publish-an-extension)
6. [Share](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#share-an-extension) and [install](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#install-an-extension) extension
7. Run extension
```sh
npm run serve:dev
```
**Note:** You might need to open [https://localhost:3000/](https://localhost:3000/) in your browser from time to time to accept the unsecure certificate to have the extension load properly from your local environment.
## Usage
See [documenation](./docs/index.md) for rule usage.
## Roadmap
See the [open issues](https://github.com/joachimdalen/azdevops-auto-state/issues?q=is%3Aopen+is%3Aissue+label%3A%40type%2Ffeature) for a full list of proposed features.
## Contributing
Contributions are welcome, both in the form of suggestions and code. Create
If you want to contribute code, I ask that you follow some guidelines.
- New and changed features should to the best ability be covered by tests
- Follow the branching policy:
- `feature/` for new features
- `bugfix/` for bug fixes
- `docs/` for documentation changes
- If your change is related to an issue, use the id as the first part of the branch e.g `bugfix/12-fix-crash-when-updating-rule`
- Pull requests should target the `develop` branch
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## Release and merge strategy
- `master` is only deployed to `PROD` and tagged with `v`
- Pull requests are always squash merged into `master`
- `master` is the only branch where GitHub releases are created for
- `feature/*` and `bugfix/*` are deployed to `QA`. For deployment to `DEV` using local assets (only manifest changes are deployed to dev), the `Deploy to DEV instead of QA` option needs to be checked when running the deployment pipeline.
`QA` and `DEV` are private development and verfication environments (publications of the extensions.) Submit a new issue if you for some reason wish access to either of these.
**Note** Access to these are not given for your local development. Please publish your own development release.
## License
Distributed under the MIT License. See `LICENSE` for more information.
## Contact
If you have generic questions about the project or usage you can make contact in the following ways:
- Submit an issue with the `@type/question` label - [New Issue](https://github.com/joachimdalen/azdevops-auto-state/issues/new)
- Submit a new question under the [Marketplace Q&A section](https://marketplace.visualstudio.com/items?itemName=joachimdalen.auto-state&ssr=false#qna).
[product-screenshot]: marketplace/docs/images/rule-editor.png
[feature-toggle-screenshot]: marketplace/docs/images/feature-toggle.png