File: upload_asset.pl

package info (click to toggle)
libnet-github-perl 1.05-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 376 kB
  • sloc: perl: 2,073; makefile: 8
file content (37 lines) | stat: -rw-r--r-- 963 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl

use strict;
use warnings;
use FindBin qw/$Bin/;
use lib "$Bin/../lib";
use Net::GitHub::V3;
use Data::Dumper;

die unless ( ($ENV{GITHUB_USER} and $ENV{GITHUB_PASS}) or $ENV{GITHUB_ACCESS_TOKEN} );

# either user+pass or token
my $gh = Net::GitHub::V3->new( login => $ENV{GITHUB_USER}, pass => $ENV{GITHUB_PASS});
# my $gh = Net::GitHub->new( access_token => $ENV{GITHUB_ACCESS_TOKEN});
my $repos = $gh->repos;

$repos->set_default_user_repo('fayland', 'perl-net-github');

my @releases = $repos->releases();
my $release = @releases ? $releases[0] : '';
unless ($release) {
    $release = $repos->create_release({
        "tag_name" => "test_upload",
        "target_commitish" => "master",
        "name" => "test_upload",
        "body" => "test upload release",
    });
}

print Dumper(\$release);

my $rand = rand();
my $asset = $repos->upload_asset($release->{id}, "$rand.txt", 'text/plain', scalar(localtime()));

print Dumper(\$asset);

1;