Giter VIP home page Giter VIP logo

azdevops-pipeline-approval's Introduction

Azure Pipelines Approval

Build Status

Quality gate

See on Visual Studio MarketPlace.


This extension allows you to easily view releases that are pending approval for your user, allowing you to approve them directly from a simple grid view. You can approve them one by one or in batch.

Contributors

Special thanks to Vinicius Moura (Microsoft MVP) for always helping with Azure DevOps related questions and ideas.

Contribute

Contributions to Azure Pipelines Approval are welcome. Please fork this repo.

  • Submit bugs and help us verify fixes.
  • Submit pull requests for bug fixes and features and discuss existing proposals.

Development Instructions

Running this project

Follow these steps to run a dev version of this project that supports hot reload and is debuggable through VS Code. You will need to install Firefox if you don't have it already because the VS Code Debugger for Chrome extension doesn't support iframes yet.

Hot reload

  1. Deploy the extension to the marketplace:

    npm run publish:dev --token [token]

    The [token] here is an Azure DevOps PAT (personal access token) with the Marketplace (Publish) scope and access set to All accessible organizations. For more information, see Authenticate access with personal access tokens.

  2. Share the published extension with your Azure DevOps organization and install it.

  3. Start the webpack-dev-server with:

    npm run start:dev
  4. Go to localhost:3000 in your browser. You should get an untrusted certificate error page. Select Advanced and then select Accept the Risk and Continue.

  5. Navigate to the extension in Azure DevOps. Any changes to the source code will cause webpack to recompile and reload the extension automatically.

    Although most code changes will be reflected immediately, you may still need to occasionally update your extension in the marketplace. The dev extension loads all its resources from the webpack-dev-server, but the manifest itself is being loaded from the published code. Therefore, any changes to the manifest file will not be properly reflected in Azure DevOps until the extension has been republished.

Debug in VS Code

  1. In VS Code, press F5 to start debugging (making sure the webpack-dev-server is still running). The default launch configuration should be set to Launch Firefox.

    Chrome configurations are included in the sample as well in case the Debugger for Chrome extension eventually supports iframes. However, debugging iframes is only supported in the Debugger for Firefox extension at this time.

  2. Allow the localhost:3000 certificate again and log into your Azure DevOps account.

    If you leave the Firefox window open that VS Code launches, the debugger will reattach instead of starting a clean Firefox instance each time.

  3. Navigate to your extension and set a breakpoint in a method in VS Code. You should see that breakpoint hit when that method executes.

azdevops-pipeline-approval's People

Contributors

dependabot[bot] avatar gustavobergamim avatar louisfischer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

azdevops-pipeline-approval's Issues

Add link to jump to the related release

Awesome Extension!
but currently there is no way to know what's contained in the deployment being approved.
Even a link to go to the release would be great

Extension not loading approvals on Azure DevOps Server 2019

Hi Gustavo,

We are running Azure DevOps Server 2019 with Update 1.

Unfortunately the approval hub doesn't show any releases to approve. It hangs on the loading screen. Azure DevOps Version from 'about': Dev17.M153.2

image

In the developer console I see 2 calls being made:

  1. OPTIONS: http://tfs:8080/tfs/organization/team/_apis/Release/approvals?top=50 I cannot see the response because Chrome doesn't seem to show them. Note: there are no request headers.
  2. GET: http://tfs:8080/tfs/organization/team/_apis/Release/approvals?top=50
    On of the accept headers know is api-version=5.2-preview.3

The response of the second call now has this message:

The requested REST API version of 5.2 is out of range for this server. The latest REST API version this server supports is 5.1.

Approve All is not intuitive

Great extension!

The big buttons "Approve All" and "Reject All" are a little counter intuitive for me. I always press the first button, thinking that it would approve all releases. But the button only works when there are releases selected.

I think one of the following changes would improve this:

  1. Make the buttons disabled until at least one release is selected.
  2. The buttons do what they say: approve all. And add two other buttons that approve & deny selected.
  3. Replace the text "all" with "selected".

I would suggest option 1 & 3.

Deferred Deployment

I don't see a way to defer the deployment to a later date/time. I can do that with Azure DevOps itself. Will that feature be added? I think the extension would help may folks.

Allow to work with YAML pipelines

This does not work with YAML multi-stage pipelines, these are used exclusively on a project I am working on and this would be a valuable tool if it also supported these pipelines rather than just the classic pipelines.

We use multi-stage deployment pipelines, with approvals for each deployment stage which in our pipelines is an environment, having something like this that brings these all together on a single view with the ability to batch approve would be a huge improvement.

Which PAT to use

Hi! I try to extend your addon with pipeline support and wanted to start the app.
I've read your description:

Deploy the extension to the marketplace:
npm run publish:dev --token [token]
The [token] here is an Azure DevOps PAT (personal access token) with the Marketplace (Publish) scope and access set to All accessible organizations. For more information, see Authenticate access with personal access tokens.

I tried it with the exact setup as you wrote (Marketplace Publish + All Organizations) and also with Full-Access with all Organizations. But no luck...

error: Received response 401 (Not Authorized). Check that your personal access token is correct and hasn't expired.

The PAT is definitely not expired and I have admin rights to the devops where this PAT is coming from.

Could you please help me resolve this problem?
Thank!

Support for multi-stage pipelines

Hi!

Thank you for all the great work you are doing.

We tried this extension together with multi-stage pipelines and doesn't seem to work. Is that something you think could be included? Would be an amazing feature since you have to go into each multi-stage pipelines build and approve each right now.

Best regards,
Simon

Allow non-approvers to see pending approvals as read-only

Hi, we just added this extension to our company, and we are very happy with it, except for one small issue.
I am managing the simultaneous release of +20 items, but I'm not the final approver, so if I go to the "Releases to Approve" page, I only see this
image

It would be super helpful to show there the actual list of releases to approve, even if I can't act on them, so I can double-check what I'm sending to the approver.

Organize Grid views of releases on Stage sort

I, as an approver, want to view respective releases separated by stages on Grid View. Please also include respective filters to stages and PRE or POST Deployment.

Stage: DEV
.netcoreapiFabric CD - Release 2 - PreDployment
.netcoreapiFrameworkCD - Release 3 - Post Deployment
Stage: PROD
.netcoreapiFabric CD - Release 1 - PreDployment
.netcoreapiFrameworkCD - Release 2 - Post Deployment

Unable to see the time correctly when Deferring deployments

Hi, thank you for the awesome extension. It's really appreciated.

I have a single issue with deferring the deployments, as we have multiple companies involved in our releases who would like to be able to defer the deployments easily. It's difficult to select the time of day as it is not shown very easily. Could you make the box a little bigger, so it reflects native Azure DevOps way of showing the dropdown?

Azdevops-pipeline-approval

deferGitHub

Azure DevOps native

DeferNative

View Approvals from other Users

Great Extension!!

It would be nice if you can add an option to view the approvals from other users.
So that i can override the Approvals.

THX

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.