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.js
andpackage.json
to 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