A Node.js CLI tool to download GitHub Actions logs for CI workflows. This is a port of the Ruby Rake task to JavaScript/Node.js.
- Download
fetch-ci-logs.jsandpackage.jsonto your project - Install dependencies:
npm install
| { | |
| "name": "fetch-ci-logs", | |
| "version": "1.0.0", | |
| "description": "Download GitHub Actions logs for CI workflows", | |
| "main": "fetch-ci-logs.js", | |
| "bin": { | |
| "fetch-ci-logs": "./fetch-ci-logs.js" | |
| }, | |
| "scripts": { | |
| "fetch-logs": "node fetch-ci-logs.js fetch-logs", |
| #!/usr/bin/env node | |
| const axios = require('axios'); | |
| const fs = require('fs').promises; | |
| const path = require('path'); | |
| const { execSync, spawn } = require('child_process'); | |
| // Utility functions | |
| function truthyEnv(value) { | |
| if (value === null || value === undefined) return false; |
| # frozen_string_literal: true | |
| require "json" | |
| require "fileutils" | |
| require "faraday" | |
| namespace :ci do | |
| # Usage examples: | |
| # bundle exec rake ci:fetch_logs | |
| # bundle exec rake ci:fetch_logs[ci.yml] |
| class DeleteTicJob | |
| include Sidekiq::Job | |
| sidekiq_options queue: "default", retry_queue: "errors" | |
| def perform(ticket_id) | |
| require "zendesk_api" | |
| client = ZendeskAPI::Client.new do |config| | |
| config.url = ENV["ZENDESK_URL"] # e.g. https://yoursubdomain.zendesk.com/api/v2 | |
| config.username = ENV["ZENDESK_USERNAME"] |
| class Dashing.Btcprice extends Dashing.Widget | |
| @accessor 'value', Dashing.AnimatedValue | |
| @accessor 'btcprice', -> | |
| if @get('value') | |
| price = parseFloat(@get('value')) |
| class Dashing.Ethprice extends Dashing.Widget | |
| @accessor 'value', Dashing.AnimatedValue | |
| @accessor 'ethprice', -> | |
| if @get('value') | |
| price = parseFloat(@get('value')) |
| require 'net/http' | |
| require 'json' | |
| require 'uri' | |
| SCHEDULER.every '5s', allow_overlapping: false do | |
| uri = URI.parse('https://api.coinbase.com/v2/prices/LTC-USD/spot') | |
| http = Net::HTTP.new(uri.host, uri.port) | |
| http.use_ssl = true | |
| request = Net::HTTP::Get.new(uri.request_uri) |
| {{ email_in.body | scan: '(Job Number:|Incident) (INC[0-9]*)', '0'}} |
i'll add some documentaton, but it should be pretty straight forward from the comments
add gem 'zendesk_api', '~> 1.4.3' to your gemfile