An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          





Logo

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



Azure DevOps builds
Issues
License

Visual Studio Marketplace Installs - Azure DevOps Extension
Visual Studio Marketplace Last Updated
Visual Studio Marketplace Rating

Table of Contents



  1. About The Project


  2. Post Install Activation


  3. Getting Started


  4. Usage

  5. Roadmap

  6. Contributing

  7. Release and merge strategy

  8. License

  9. 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

(back to top)

## 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.

(back to top)

## Usage

See [documenation](./docs/index.md) for rule usage.

(back to top)

## 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.

(back to top)

## 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

(back to top)

## 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.

(back to top)

## 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).

(back to top)

[product-screenshot]: marketplace/docs/images/rule-editor.png
[feature-toggle-screenshot]: marketplace/docs/images/feature-toggle.png