marceloavf / github-tools-vsts

📦:octocat:🚀 Create and modify GitHub Releases in Azure DevOps Build and Release Management
https://marketplace.visualstudio.com/items?itemName=marcelo-formentao.github-tools
MIT License
24 stars 15 forks source link
devops github javascript marketplace vsts vsts-extension wiki-page

GitHub Tools
GitHub Tool

Create and modify GitHub Releases. For Azure DevOps Builds and Releases.

GitHub Tool Task provide full implementation to Create and Modify GitHub Release to Azure DevOps Build and Release Management. Learn More

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) ![with-coffee](https://img.shields.io/badge/made%20with-%E2%98%95%EF%B8%8F%20coffee-yellow.svg) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) ![Visual Studio Team services](https://img.shields.io/vso/build/precisaosistemas/bdc79f70-6107-4e5b-9455-73bbd6bc0f22/115.svg) [![GitHub release](https://img.shields.io/github/release/marceloavf/github-tools-vsts.svg)](https://github.com/marceloavf/github-tools-vsts/releases) [![VS Marketplace Version](https://vsmarketplacebadge.apphb.com/version-short/marcelo-formentao.github-tools.svg)](https://marketplace.visualstudio.com/items?itemName=marcelo-formentao.github-tools) [![VS Marketplace Installs](https://vsmarketplacebadge.apphb.com/installs/marcelo-formentao.github-tools.svg)](https://marketplace.visualstudio.com/items?itemName=marcelo-formentao.github-tools)

Tasks included

create-modify-release

task-create-modify-release

Options include:

Advanced Options include:

Modify will only be valid if the release has the same tag as the other one, and you have to allow Reuse Release or/and Reuse only Draft Release

Modify

Overwrite assets

  1. The release tag option should have the same tag of the release you want to change.
  2. The assets should have the same name to replace.
  3. Leave unchecked Skip Duplicated Assets inside Advanced options.

Edit release

This option allow to edit release properties based on tag name, changing the release name, notes, type (draft, prerelease, release) and target commitsh.

  1. The release tag option should have the same tag of the release you want to change.
  2. Write different name, notes, target commitsh or change the type of the release.
  3. Check Edit Release inside Advanced options.

Tip: Delete Empty Tag option allow to prevent an empty tag (without release) by deleting it when you edit release type from prerelease or release to draft

More details

Manifest file

The manifest is a json file (commonly called package.json) that include some information about your application, the GitHub Tool can extract these information when you indicate in Manifest JSON field where json file is located. Your json should be like this example below.

{ 
   "version": "2.0.0", 
   "repository": { 
     "type": "git", 
     "url": "https://github.com/owner/repo" 
  } 
} 

GitHub Connection

This option is one of the mandatory fields to allow GitHub Tool interact with GitHub API. For this, you have two options to create this connection:

1. Authorize using OAuth

This service provides you direct and fast connection with GitHub authentication. If you need to modify some access and grant new authorizations you will have to access your GitHub acoount, go to Settings > Applications > Authorized OAuth Apps, found Azure Pipelines (OAuth) and modify permissions and organization access.

2. Authorize with a GitHub personal access token

This option needs a personal access token from GitHub, you can create it by going to your GitHub account, Settings > Developer settings > Personal access tokens and click on Generate New Token.

Scope Description
repo Allow access to private repositories
public_repo Allow access to public repositories

Creating service endpoints

Service endpoints can be created from the Azure Devops project dashboard, login and go to Project Settings > Service connections > New service connection. Select Github from the list. Chose authentication method (e.g. OAuth or Personal Access Token). Then Authorsize, then Complete other details and finall Save.

Why?

I was disappointed with all the current GitHub extensions tools solutions. Most of them don't have most of the options GitHub can provide and don't are maintained anymore. So, I found publish-release repository with almost every option that I need, helped them to finish some issues and use that to create this extension for Azure DevOps Releases and Builds.

Install the extension to your account

You can find the latest stable version of the Azure DevOps Extension tasks on the Visual Studio Marketplace.

Debug

Please refer to our debug wiki page

Contribute

Contributions, issues and feature requests are very welcome. Please make sure to read the Contributing Guide before making a pull request.

Known Issues

Please refer to our wiki page

Contributors

Thanks goes to these wonderful people (emoji key):


Marcelo Formentão

💻 🎨 📖 🤔 🚇

Heath Stewart

💻

This project follows the all-contributors specification. Contributions of any kind welcome!