HashExternalTask returns a deterministic hash of an external task's content.
(ext ExternalTask)
| 9 | |
| 10 | // HashExternalTask returns a deterministic hash of an external task's content. |
| 11 | func HashExternalTask(ext ExternalTask) string { |
| 12 | h := sha256.New() |
| 13 | fmt.Fprintf(h, "id:%s\n", ext.ExternalID) |
| 14 | fmt.Fprintf(h, "title:%s\n", ext.Title) |
| 15 | fmt.Fprintf(h, "desc:%s\n", ext.Description) |
| 16 | fmt.Fprintf(h, "status:%s\n", ext.Status) |
| 17 | fmt.Fprintf(h, "priority:%s\n", ext.Priority) |
| 18 | fmt.Fprintf(h, "assignee:%s\n", ext.Assignee) |
| 19 | fmt.Fprintf(h, "labels:%s\n", strings.Join(ext.Labels, ",")) |
| 20 | fmt.Fprintf(h, "url:%s\n", ext.URL) |
| 21 | return fmt.Sprintf("%x", h.Sum(nil)) |
| 22 | } |
| 23 | |
| 24 | // HashLocalFile returns the SHA-256 hash of a file's contents. |
| 25 | func HashLocalFile(path string) (string, error) { |
no outgoing calls