#!/usr/bin/env ruby # frozen_string_literal: true require "net/http" require "json" workflow_run_id = ARGV[0] run_attempt = ARGV[1] job_name = ARGV[2] uri = URI.parse( "https://api.github.com/repos/discourse/discourse/actions/runs/#{workflow_run_id}/attempts/#{run_attempt}/jobs", ) request = Net::HTTP::Get.new(uri) request["Accept"] = "application/vnd.github+json" request["X-Github-Api-Version"] = "2022-11-28" response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.is_a?(URI::HTTPS)) do |http| http.request(request) end JSON.parse(response.body)["jobs"].each do |job| if job["name"] == job_name puts job["id"] break end end