mirror of
https://github.com/GoogleContainerTools/kaniko.git
synced 2026-05-16 13:20:33 +00:00
ae81657484
Copied over the release script from skaffold to get all new PRs that have been merged for the CHANGELOG. Ran dep ensure.
150 lines
4.7 KiB
Go
150 lines
4.7 KiB
Go
// Copyright 2016 The go-github AUTHORS. All rights reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package github
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
// Timeline represents an event that occurred around an Issue or Pull Request.
|
|
//
|
|
// It is similar to an IssueEvent but may contain more information.
|
|
// GitHub API docs: https://developer.github.com/v3/issues/timeline/
|
|
type Timeline struct {
|
|
ID *int64 `json:"id,omitempty"`
|
|
URL *string `json:"url,omitempty"`
|
|
CommitURL *string `json:"commit_url,omitempty"`
|
|
|
|
// The User object that generated the event.
|
|
Actor *User `json:"actor,omitempty"`
|
|
|
|
// Event identifies the actual type of Event that occurred. Possible values
|
|
// are:
|
|
//
|
|
// assigned
|
|
// The issue was assigned to the assignee.
|
|
//
|
|
// closed
|
|
// The issue was closed by the actor. When the commit_id is present, it
|
|
// identifies the commit that closed the issue using "closes / fixes #NN"
|
|
// syntax.
|
|
//
|
|
// commented
|
|
// A comment was added to the issue.
|
|
//
|
|
// committed
|
|
// A commit was added to the pull request's 'HEAD' branch. Only provided
|
|
// for pull requests.
|
|
//
|
|
// cross-referenced
|
|
// The issue was referenced from another issue. The 'source' attribute
|
|
// contains the 'id', 'actor', and 'url' of the reference's source.
|
|
//
|
|
// demilestoned
|
|
// The issue was removed from a milestone.
|
|
//
|
|
// head_ref_deleted
|
|
// The pull request's branch was deleted.
|
|
//
|
|
// head_ref_restored
|
|
// The pull request's branch was restored.
|
|
//
|
|
// labeled
|
|
// A label was added to the issue.
|
|
//
|
|
// locked
|
|
// The issue was locked by the actor.
|
|
//
|
|
// mentioned
|
|
// The actor was @mentioned in an issue body.
|
|
//
|
|
// merged
|
|
// The issue was merged by the actor. The 'commit_id' attribute is the
|
|
// SHA1 of the HEAD commit that was merged.
|
|
//
|
|
// milestoned
|
|
// The issue was added to a milestone.
|
|
//
|
|
// referenced
|
|
// The issue was referenced from a commit message. The 'commit_id'
|
|
// attribute is the commit SHA1 of where that happened.
|
|
//
|
|
// renamed
|
|
// The issue title was changed.
|
|
//
|
|
// reopened
|
|
// The issue was reopened by the actor.
|
|
//
|
|
// subscribed
|
|
// The actor subscribed to receive notifications for an issue.
|
|
//
|
|
// unassigned
|
|
// The assignee was unassigned from the issue.
|
|
//
|
|
// unlabeled
|
|
// A label was removed from the issue.
|
|
//
|
|
// unlocked
|
|
// The issue was unlocked by the actor.
|
|
//
|
|
// unsubscribed
|
|
// The actor unsubscribed to stop receiving notifications for an issue.
|
|
//
|
|
Event *string `json:"event,omitempty"`
|
|
|
|
// The string SHA of a commit that referenced this Issue or Pull Request.
|
|
CommitID *string `json:"commit_id,omitempty"`
|
|
// The timestamp indicating when the event occurred.
|
|
CreatedAt *time.Time `json:"created_at,omitempty"`
|
|
// The Label object including `name` and `color` attributes. Only provided for
|
|
// 'labeled' and 'unlabeled' events.
|
|
Label *Label `json:"label,omitempty"`
|
|
// The User object which was assigned to (or unassigned from) this Issue or
|
|
// Pull Request. Only provided for 'assigned' and 'unassigned' events.
|
|
Assignee *User `json:"assignee,omitempty"`
|
|
// The Milestone object including a 'title' attribute.
|
|
// Only provided for 'milestoned' and 'demilestoned' events.
|
|
Milestone *Milestone `json:"milestone,omitempty"`
|
|
// The 'id', 'actor', and 'url' for the source of a reference from another issue.
|
|
// Only provided for 'cross-referenced' events.
|
|
Source *Source `json:"source,omitempty"`
|
|
// An object containing rename details including 'from' and 'to' attributes.
|
|
// Only provided for 'renamed' events.
|
|
Rename *Rename `json:"rename,omitempty"`
|
|
}
|
|
|
|
// Source represents a reference's source.
|
|
type Source struct {
|
|
ID *int64 `json:"id,omitempty"`
|
|
URL *string `json:"url,omitempty"`
|
|
Actor *User `json:"actor,omitempty"`
|
|
}
|
|
|
|
// ListIssueTimeline lists events for the specified issue.
|
|
//
|
|
// GitHub API docs: https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue
|
|
func (s *IssuesService) ListIssueTimeline(ctx context.Context, owner, repo string, number int, opt *ListOptions) ([]*Timeline, *Response, error) {
|
|
u := fmt.Sprintf("repos/%v/%v/issues/%v/timeline", owner, repo, number)
|
|
u, err := addOptions(u, opt)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
req, err := s.client.NewRequest("GET", u, nil)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
// TODO: remove custom Accept header when this API fully launches.
|
|
req.Header.Set("Accept", mediaTypeTimelinePreview)
|
|
|
|
var events []*Timeline
|
|
resp, err := s.client.Do(ctx, req, &events)
|
|
return events, resp, err
|
|
}
|