Git Product home page Git Product logo

devops-streamdeck's Introduction

DevOps for Stream Deck Custom badge Node.js CI

Check the status of your CI/CD environments or Notifications using your Stream Deck

How it works?

Install this plugin

You can find it at the Stream Deck Store. ๐Ÿš€

Configuration options

Field Description Service Required
account Here you can select your Personal Token and custom domain if you use a self-hosted version. GitHub, GitLab, Netlify, Vercel, Travis Yes
username/repo Configure here the repo for GitLab/GitHub GitHub, GitLab, Travis Yes
siteId Your Netlify Site Id Netlify Yes
project name Your project name in Vercel Vercel Yes
branch Select the branch to monitor or leave it empty to show info from all branches. GitHub, GitLab, Netlify, Travis No

Compatible services

GitHub

Show information

For public repositories

You have to create a new Personal Token with the following scopes: repo:status, repo_deployment and public_repo.

image

For public/private repositories

You have to create a new Personal Token with all the repo scopes, otherwise you don't have access to your private repositories.

image

For Notifications

You have to create a new Personal Token with notifications scopes, otherwise you don't have access to your notifications.

image

GitLab

Show information

You have to create a new Personal Access Token. Set the scope as follows:

Required for Scope
CI Status read_api
MRs read_api
ToDos read_user

Netlify

Show information

Personal Token

You have to create a new Personal Token.

Site ID

You can find your site id in the settings tab of your project, with the API ID name.

Vercel

Show information

You have to create a new Token.

Travis-CI.com / Travis-CI.org

Show information

You have to create a new Token.

By default the actions uses the travis-ci.org api, if you want to use it with travis-ci.com set https://api.travis-ci.com as domain in the configuration.

How to setup the dev environment

  1. Install all the dependencies
yarn
  1. Build the project for the first time, the project uses Parcel as bundler to handle React and TypeScript
yarn build
  1. Create a symlink form the folder you clone the repository
ln -s devops-streamdeck/dist/dev.santiagomartin.devops.sdPlugin ~/Library/Application\ Support/com.elgato.StreamDeck/Plugins/dev.santiagomartin.devops.sdPlugin
  1. Run the proper dev command, since we are using Parcel to build the project we have a few dev commands to start Parcel in watch mode
// For Property Inspector
yarn:dev:pi

// For Plugin
yarn:dev:plugin

// For setup screen, where the user add the configuration for each service
yarn:dev:setup

Project structure

    .
    โ”œโ”€โ”€ node_modules
    โ”œโ”€โ”€ dist
    โ”œโ”€โ”€ images
    โ”œโ”€โ”€ node_modules
    โ”œโ”€โ”€ release
    โ”œโ”€โ”€ src
      โ”œโ”€โ”€ dev.santiagomartin.devops.sdPlugin
        โ”œโ”€โ”€ pi // all code related with Property Inspector (build with React and TypeScript)
        โ”œโ”€โ”€ plugin // all code related with Plugin (build with TypeScript)
        โ”œโ”€โ”€ setup // all code related with Setup page (build with React and TypeScript)
    โ”œโ”€โ”€ tools // contains the elgato tools to build the project using GitHub Actions
    โ”œโ”€โ”€ .babelrc
    โ”œโ”€โ”€ .gitignore
    โ”œโ”€โ”€ jest.config
    โ”œโ”€โ”€ LICENSE
    โ”œโ”€โ”€ manifest.json
    โ”œโ”€โ”€ package.json
    โ”œโ”€โ”€ README.md
    โ”œโ”€โ”€ tsconfig.json
    โ””โ”€โ”€ yarn.lock

References

Contributing

Thank you for considering contributing to the DevOps for Stream Deck. Feel free to send in any pull requests.

Support the project

If you like the project, you can subscribe to my Twitch channel, where I do live coding of this and other projects.

Issues

Please report any issues. Ideas for new excuse features are also welcomed.

devops-streamdeck's People

Contributors

dependabot[bot] avatar gl-njanz avatar imgbot[bot] avatar imgbotapp avatar pwnyprod avatar santima10 avatar

Stargazers

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

devops-streamdeck's Issues

It always shows a green badge

Hello again and thanks again.
I have configured two different repositories, and they always show a green badge, even though one of them has failed. I have checked the API responses from github and they correctly report the status of failed.

Also, I have another account setup for vercel and I'm getting a 401. It will be nice if the icon reflects that.

Document development setup

Hi.
I'm interested in your development setup for this plugin.
Could you document it so it's easier to contribute?
I tried to create all kinds of symlinks but Elgato won't recognize it as a plugin.

Improve the Button-Look

I'd suggest to improve the Button-Look since it is hard to identify which pipeline has passed or failed if we only see the GitLab logo and the status.

Here's a small mockup I made, the left button would be the easiest solution which only adds a title, to quickly identify the status of each pipeline I'd suggest to also add red/green indication and also parse the status:
gitlab_ci-cd

Misleading icon on Netlify status

Love the project!

Ran into a small issue yesterday.

This is the status of the last builds for my project on Netlify:

image

However, the icon shows an "error" icon:

image

I would expect the icon to reflect the "cancelled" status instead.

It would also be nice if there was a way to preserve the last non-cancelled status instead of scaring me :)

Keep up the good work!

Error on retrieving status

Hi there, I've installed your plugin and tried configuring it to query the pipeline status of my private project on gitlab.com.

I've registered an access token with the scope set to API.
The path to my project is gitlab.com/groupname/subgroupname/reponame
So I've configured the user (username/token) and left the domain field empty to use the default gitlab.com domain.
I've added the shortcut, selected my account and added the repo groupname/subgroup/reponame and left the branch empty.
To clarify: my username is absent from the repo reference. It is however my group and repo.
After pushing the button it states error only.

Could you please help me configure this properly?

Use fine-grained personal access tokens on GitHub

The classic personal access tokens have a higher risk if they get compromised / stolen compared to a fine-grained access token.

It would be nice if the README details which rights are needed so a fine-grained access toen can be used easily.

Cannot remove GitHub account

I have tried a fine-grained access token and now I cannot remove this account. Selecting the account, then clicking remove does not remove the account.

This is mandatory as new tokens, fine-grained or personal access tokens, must have an expire date.

Autorefesh

Allow enabling autorefresh via the action options.

Self-hosted GitLab

Please allow self-hosted GitLab servers (including http-only).

If you don't have the time you can assign this issue to me and I will do it within the next days :)

Edit accounts

Hello, and thanks for making this plugin and making it public.
I think it will be neat if you can edit added accounts. It is a bit tedious to have to re-create them from scratch if you made a typo or set an incorrect configuration.

Regards

List repositories

  • Add a refresh button to reload the repository list
  • Add a select to select the repository

Request: Travis-CI support

Most of the projects I help maintain use Travis-CI to run tests. I really love the idea of putting CI statuses on a Stream Deck device, and was excited when I saw this plugin in the list.

Note: I have no TypeScript experience, but if no one else is interested in this feature and implementing it falls to me, maybe I can figure out enough to be dangerous by cloning one of the existing actions. ๐Ÿ˜…

Stopped working

I have it set up for Github on a Mac.

It worked initially but once I got my first notification and appearing on the SD correctly, the notifications message stayed on and I got the red envelope icon.

Re-adding the Github account, I'm getting the same icon but it also now says "Undefined new notifications". Any idea what the problem is here?

Account managent

Like the Philips Hue plugin we would like to allow the users to store their credentials (token + domain) to reuse it in multiple actions.

Select branch

You can select the branch for which you want to monitor the status

Insufficient documentation

I'd love to use this Stream Deck extension/plug-in, but I cannot figure out how to get it to work. The button just always says "[โ€ฆ]eeds conf[โ€ฆ]" even after linking my Github account and filling out the repo field.

Is it mac only? I am using Windows.

Go to repository on push button

A great improvement would be to go to the repository on a button push.
So if the GitHub action failed and the icon is showing the red overlay, I would like to push the button to open the repository in my browser to quickly check what is the reason.

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.