IssueCreator handles syncing identified issues with github issues. This includes finding existing github issues, creating new ones, and ensuring that duplicate github issues are not created.
| 105 | // This includes finding existing github issues, creating new ones, and ensuring that duplicate |
| 106 | // github issues are not created. |
| 107 | type IssueCreator struct { |
| 108 | // client is the github client that is used to interact with github. |
| 109 | client RepoClient |
| 110 | // validLabels is the set of labels that are valid for the current repo (populated from github). |
| 111 | validLabels []string |
| 112 | // Collaborators is the set of Users that are valid assignees for the current repo (populated from GH). |
| 113 | Collaborators []string |
| 114 | // authorName is the name of the current bot. |
| 115 | authorName string |
| 116 | // allIssues is a local cache of all issues in the repo authored by the currently authenticated user. |
| 117 | // Issues are keyed by issue number. |
| 118 | allIssues map[int]*github.Issue |
| 119 | |
| 120 | // ownerPath is the path the test owners csv file or "" if no assignments or SIG areas should be used. |
| 121 | ownerPath string |
| 122 | // maxSIGCount is the maximum number of SIG areas to include on a single github issue. |
| 123 | MaxSIGCount int |
| 124 | // maxAssignees is the maximum number of user to assign to a single github issue. |
| 125 | MaxAssignees int |
| 126 | // tokenFIle is the file containing the github authentication token to use. |
| 127 | tokenFile string |
| 128 | // dryRun is true iff no modifying or 'write' operations should be made to github. |
| 129 | dryRun bool |
| 130 | // project is the name of the github repo. |
| 131 | project string |
| 132 | // org is the github organization that owns the repo. |
| 133 | org string |
| 134 | |
| 135 | // Owners is an OwnerMapper that maps test names to owners and SIG areas. |
| 136 | Owners OwnerMapper |
| 137 | } |
| 138 | |
| 139 | var sources = map[string]IssueSource{} |
| 140 |
nothing calls this directly
no outgoing calls
no test coverage detected