diff --git a/github/ProjectColumn.py b/github/ProjectColumn.py index 702412e7..76b61269 100644 --- a/github/ProjectColumn.py +++ b/github/ProjectColumn.py @@ -30,6 +30,7 @@ import github.ProjectCard import Consts + class ProjectColumn(github.GithubObject.CompletableGithubObject): """ This class represents Project Columns. The reference can be found here http://developer.github.com/v3/projects/columns @@ -94,7 +95,7 @@ class ProjectColumn(github.GithubObject.CompletableGithubObject): """ return self._url.value - def get_cards(self,archived_state=github.GithubObject.NotSet): + def get_cards(self, archived_state=github.GithubObject.NotSet): """ :calls: `GET /projects/columns/:column_id/cards `_ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.ProjectCard.ProjectCard` @@ -114,6 +115,37 @@ class ProjectColumn(github.GithubObject.CompletableGithubObject): {"Accept": Consts.mediaTypeProjectsPreview} ) + def create_card(self, note=github.GithubObject.NotSet, + content_id=github.GithubObject.NotSet, + content_type=github.GithubObject.NotSet): + """ + calls: `POST https://developer.github.com/v3/projects/cards/#create-a-project-card>`_ + :param note: string + :param content_id: integer + :param content_type: string + """ + post_parameters = {} + if isinstance(note, (str, unicode)): + assert content_id is github.GithubObject.NotSet, content_id + assert content_type is github.GithubObject.NotSet, content_type + post_parameters = {"note": note} + else: + assert note is github.GithubObject.NotSet, note + assert isinstance(content_id, int), content_id + assert isinstance(content_type, (str, unicode)), content_type + post_parameters = {"content_id": content_id, + "content_type": content_type} + + import_header = {"Accept": Consts.mediaTypeProjectsPreview} + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/cards", + headers=import_header, + input=post_parameters + ) + return github.ProjectCard.ProjectCard(self._requester, headers, + data, completed=True) + def _initAttributes(self): self._cards_url = github.GithubObject.NotSet self._created_at = github.GithubObject.NotSet diff --git a/github/tests/Project.py b/github/tests/Project.py index 690a0c91..8fb69fa4 100644 --- a/github/tests/Project.py +++ b/github/tests/Project.py @@ -135,3 +135,19 @@ class Project(Framework.TestCase): project = self.repo.create_project("Project created by PyGithub", "Project Body") column = project.create_column("Project Column created by PyGithub",) self.assertEqual(column.id, 3999333) + + def testCreateCardWithNote(self): + project = self.repo.create_project("Project created by PyGithub", + "Project Body") + column = project.create_column("Project Column created by PyGithub",) + card1 = column.create_card(note="Project Card") + self.assertEqual(card1.id, 16039019) + + def testCreateCardFromIssue(self): + project = self.repo.create_project("Project created by PyGithub", + "Project Body") + column = project.create_column("Project Column created by PyGithub",) + issue = self.repo.create_issue(title="Issue created by PyGithub") + card2 = column.create_card(content_id=issue.id, + content_type="Issue") + self.assertEqual(card2.id, 16039106) diff --git a/github/tests/ReplayData/Project.testCreateCardFromIssue.txt b/github/tests/ReplayData/Project.testCreateCardFromIssue.txt new file mode 100644 index 00000000..3cba26dd --- /dev/null +++ b/github/tests/ReplayData/Project.testCreateCardFromIssue.txt @@ -0,0 +1,44 @@ +https +POST +api.github.com +None +/repos/bbi-yggy/PyGithub/projects +{'Content-Type': 'application/json', 'Accept': 'application/vnd.github.inertia-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +{"body": "Project Body", "name": "Project created by PyGithub"} +201 +[('Server', 'GitHub.com'), ('Date', 'Wed, 26 Dec 2018 22:12:00 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1375'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4939'), ('X-RateLimit-Reset', '1545864082'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', '"0aa4a598a99e9c4023607e24d2da75d3"'), ('Location', 'https://api.github.com/projects/2032101'), ('X-GitHub-Media-Type', 'github.inertia-preview; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', '9304:0E38:6742770:E4CA34B:5C23FCAF')] +{"owner_url":"https://api.github.com/repos/bbi-yggy/PyGithub","url":"https://api.github.com/projects/2032101","html_url":"https://github.com/bbi-yggy/PyGithub/projects/15","columns_url":"https://api.github.com/projects/2032101/columns","id":2032101,"node_id":"MDc6UHJvamVjdDIwMzIxMDE=","name":"Project created by PyGithub","body":"Project Body","number":15,"state":"open","creator":{"login":"bbi-yggy","id":1086629,"node_id":"MDQ6VXNlcjEwODY2Mjk=","avatar_url":"https://avatars0.githubusercontent.com/u/1086629?v=4","gravatar_id":"","url":"https://api.github.com/users/bbi-yggy","html_url":"https://github.com/bbi-yggy","followers_url":"https://api.github.com/users/bbi-yggy/followers","following_url":"https://api.github.com/users/bbi-yggy/following{/other_user}","gists_url":"https://api.github.com/users/bbi-yggy/gists{/gist_id}","starred_url":"https://api.github.com/users/bbi-yggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbi-yggy/subscriptions","organizations_url":"https://api.github.com/users/bbi-yggy/orgs","repos_url":"https://api.github.com/users/bbi-yggy/repos","events_url":"https://api.github.com/users/bbi-yggy/events{/privacy}","received_events_url":"https://api.github.com/users/bbi-yggy/received_events","type":"User","site_admin":false},"created_at":"2018-12-26T22:12:00Z","updated_at":"2018-12-26T22:12:00Z"} + +https +POST +api.github.com +None +/projects/2032101/columns +{'Content-Type': 'application/json', 'Accept': 'application/vnd.github.inertia-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +{"name": "Project Column created by PyGithub"} +201 +[('Server', 'GitHub.com'), ('Date', 'Wed, 26 Dec 2018 22:12:00 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '355'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4938'), ('X-RateLimit-Reset', '1545864082'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', '"dab1f24d43d11f809fc501bf947c854a"'), ('Location', 'https://api.github.com/projects/columns/4046368'), ('X-GitHub-Media-Type', 'github.inertia-preview; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'E384:0E37:55EEB77:C01B755:5C23FCB0')] +{"url":"https://api.github.com/projects/columns/4046368","project_url":"https://api.github.com/projects/2032101","cards_url":"https://api.github.com/projects/columns/4046368/cards","id":4046368,"node_id":"MDEzOlByb2plY3RDb2x1bW40MDQ2MzY4","name":"Project Column created by PyGithub","created_at":"2018-12-26T22:12:00Z","updated_at":"2018-12-26T22:12:00Z"} + +https +POST +api.github.com +None +/repos/bbi-yggy/PyGithub/issues +{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +{"title": "Issue created by PyGithub"} +201 +[('Server', 'GitHub.com'), ('Date', 'Wed, 26 Dec 2018 22:12:01 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1716'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4937'), ('X-RateLimit-Reset', '1545864082'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', '"44b3c790ec5cc7e4b29a1fbb95e5803c"'), ('Location', 'https://api.github.com/repos/bbi-yggy/PyGithub/issues/1'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', '9308:0E37:55EEBA9:C01B7B1:5C23FCB0')] +{"url":"https://api.github.com/repos/bbi-yggy/PyGithub/issues/1","repository_url":"https://api.github.com/repos/bbi-yggy/PyGithub","labels_url":"https://api.github.com/repos/bbi-yggy/PyGithub/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/bbi-yggy/PyGithub/issues/1/comments","events_url":"https://api.github.com/repos/bbi-yggy/PyGithub/issues/1/events","html_url":"https://github.com/bbi-yggy/PyGithub/issues/1","id":394249838,"node_id":"MDU6SXNzdWUzOTQyNDk4Mzg=","number":1,"title":"Issue created by PyGithub","user":{"login":"bbi-yggy","id":1086629,"node_id":"MDQ6VXNlcjEwODY2Mjk=","avatar_url":"https://avatars0.githubusercontent.com/u/1086629?v=4","gravatar_id":"","url":"https://api.github.com/users/bbi-yggy","html_url":"https://github.com/bbi-yggy","followers_url":"https://api.github.com/users/bbi-yggy/followers","following_url":"https://api.github.com/users/bbi-yggy/following{/other_user}","gists_url":"https://api.github.com/users/bbi-yggy/gists{/gist_id}","starred_url":"https://api.github.com/users/bbi-yggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbi-yggy/subscriptions","organizations_url":"https://api.github.com/users/bbi-yggy/orgs","repos_url":"https://api.github.com/users/bbi-yggy/repos","events_url":"https://api.github.com/users/bbi-yggy/events{/privacy}","received_events_url":"https://api.github.com/users/bbi-yggy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-12-26T22:12:01Z","updated_at":"2018-12-26T22:12:01Z","closed_at":null,"author_association":"OWNER","body":null,"closed_by":null} + +https +POST +api.github.com +None +/projects/columns/4046368/cards +{'Content-Type': 'application/json', 'Accept': 'application/vnd.github.inertia-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +{"content_id": 394249838, "content_type": "Issue"} +201 +[('Server', 'GitHub.com'), ('Date', 'Wed, 26 Dec 2018 22:12:02 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1345'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4936'), ('X-RateLimit-Reset', '1545864082'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', '"edaf50abebabc9e604f55c3694feb344"'), ('Location', 'https://api.github.com/projects/columns/cards/16039106'), ('X-GitHub-Media-Type', 'github.inertia-preview; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'E388:0E37:55EEBEF:C01B83F:5C23FCB1')] +{"url":"https://api.github.com/projects/columns/cards/16039106","project_url":"https://api.github.com/projects/2032101","id":16039106,"node_id":"MDExOlByb2plY3RDYXJkMTYwMzkxMDY=","note":null,"archived":false,"creator":{"login":"bbi-yggy","id":1086629,"node_id":"MDQ6VXNlcjEwODY2Mjk=","avatar_url":"https://avatars0.githubusercontent.com/u/1086629?v=4","gravatar_id":"","url":"https://api.github.com/users/bbi-yggy","html_url":"https://github.com/bbi-yggy","followers_url":"https://api.github.com/users/bbi-yggy/followers","following_url":"https://api.github.com/users/bbi-yggy/following{/other_user}","gists_url":"https://api.github.com/users/bbi-yggy/gists{/gist_id}","starred_url":"https://api.github.com/users/bbi-yggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbi-yggy/subscriptions","organizations_url":"https://api.github.com/users/bbi-yggy/orgs","repos_url":"https://api.github.com/users/bbi-yggy/repos","events_url":"https://api.github.com/users/bbi-yggy/events{/privacy}","received_events_url":"https://api.github.com/users/bbi-yggy/received_events","type":"User","site_admin":false},"created_at":"2018-12-26T22:12:02Z","updated_at":"2018-12-26T22:12:02Z","column_url":"https://api.github.com/projects/columns/4046368","content_url":"https://api.github.com/repos/bbi-yggy/PyGithub/issues/1"} + diff --git a/github/tests/ReplayData/Project.testCreateCardWithNote.txt b/github/tests/ReplayData/Project.testCreateCardWithNote.txt new file mode 100644 index 00000000..86e65d95 --- /dev/null +++ b/github/tests/ReplayData/Project.testCreateCardWithNote.txt @@ -0,0 +1,33 @@ +https +POST +api.github.com +None +/repos/bbi-yggy/PyGithub/projects +{'Content-Type': 'application/json', 'Accept': 'application/vnd.github.inertia-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +{"body": "Project Body", "name": "Project created by PyGithub"} +201 +[('Server', 'GitHub.com'), ('Date', 'Wed, 26 Dec 2018 22:03:47 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1375'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4954'), ('X-RateLimit-Reset', '1545864082'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', '"27cb9ded58a44ad99d913856b69c9a11"'), ('Location', 'https://api.github.com/projects/2032093'), ('X-GitHub-Media-Type', 'github.inertia-preview; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', '91C2:0E37:55E9629:C00E907:5C23FAC2')] +{"owner_url":"https://api.github.com/repos/bbi-yggy/PyGithub","url":"https://api.github.com/projects/2032093","html_url":"https://github.com/bbi-yggy/PyGithub/projects/12","columns_url":"https://api.github.com/projects/2032093/columns","id":2032093,"node_id":"MDc6UHJvamVjdDIwMzIwOTM=","name":"Project created by PyGithub","body":"Project Body","number":12,"state":"open","creator":{"login":"bbi-yggy","id":1086629,"node_id":"MDQ6VXNlcjEwODY2Mjk=","avatar_url":"https://avatars0.githubusercontent.com/u/1086629?v=4","gravatar_id":"","url":"https://api.github.com/users/bbi-yggy","html_url":"https://github.com/bbi-yggy","followers_url":"https://api.github.com/users/bbi-yggy/followers","following_url":"https://api.github.com/users/bbi-yggy/following{/other_user}","gists_url":"https://api.github.com/users/bbi-yggy/gists{/gist_id}","starred_url":"https://api.github.com/users/bbi-yggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbi-yggy/subscriptions","organizations_url":"https://api.github.com/users/bbi-yggy/orgs","repos_url":"https://api.github.com/users/bbi-yggy/repos","events_url":"https://api.github.com/users/bbi-yggy/events{/privacy}","received_events_url":"https://api.github.com/users/bbi-yggy/received_events","type":"User","site_admin":false},"created_at":"2018-12-26T22:03:47Z","updated_at":"2018-12-26T22:03:47Z"} + +https +POST +api.github.com +None +/projects/2032093/columns +{'Content-Type': 'application/json', 'Accept': 'application/vnd.github.inertia-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +{"name": "Project Column created by PyGithub"} +201 +[('Server', 'GitHub.com'), ('Date', 'Wed, 26 Dec 2018 22:03:47 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '355'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4953'), ('X-RateLimit-Reset', '1545864082'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', '"3a581aa89f45ff2fbe3378114691ffa8"'), ('Location', 'https://api.github.com/projects/columns/4046355'), ('X-GitHub-Media-Type', 'github.inertia-preview; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'E242:0E36:2F0B2E5:777D4A5:5C23FAC3')] +{"url":"https://api.github.com/projects/columns/4046355","project_url":"https://api.github.com/projects/2032093","cards_url":"https://api.github.com/projects/columns/4046355/cards","id":4046355,"node_id":"MDEzOlByb2plY3RDb2x1bW40MDQ2MzU1","name":"Project Column created by PyGithub","created_at":"2018-12-26T22:03:47Z","updated_at":"2018-12-26T22:03:47Z"} + +https +POST +api.github.com +None +/projects/columns/4046355/cards +{'Content-Type': 'application/json', 'Accept': 'application/vnd.github.inertia-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +{"note": "Project Card"} +201 +[('Server', 'GitHub.com'), ('Date', 'Wed, 26 Dec 2018 22:03:48 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '1282'), ('Status', '201 Created'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4952'), ('X-RateLimit-Reset', '1545864082'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', '"55a34a8b219c2f04a42af8617ac8884f"'), ('Location', 'https://api.github.com/projects/columns/cards/16039019'), ('X-GitHub-Media-Type', 'github.inertia-preview; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', '91C6:0E38:673BB20:E4BABD4:5C23FAC4')] +{"url":"https://api.github.com/projects/columns/cards/16039019","project_url":"https://api.github.com/projects/2032093","id":16039019,"node_id":"MDExOlByb2plY3RDYXJkMTYwMzkwMTk=","note":"Project Card","archived":false,"creator":{"login":"bbi-yggy","id":1086629,"node_id":"MDQ6VXNlcjEwODY2Mjk=","avatar_url":"https://avatars0.githubusercontent.com/u/1086629?v=4","gravatar_id":"","url":"https://api.github.com/users/bbi-yggy","html_url":"https://github.com/bbi-yggy","followers_url":"https://api.github.com/users/bbi-yggy/followers","following_url":"https://api.github.com/users/bbi-yggy/following{/other_user}","gists_url":"https://api.github.com/users/bbi-yggy/gists{/gist_id}","starred_url":"https://api.github.com/users/bbi-yggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbi-yggy/subscriptions","organizations_url":"https://api.github.com/users/bbi-yggy/orgs","repos_url":"https://api.github.com/users/bbi-yggy/repos","events_url":"https://api.github.com/users/bbi-yggy/events{/privacy}","received_events_url":"https://api.github.com/users/bbi-yggy/received_events","type":"User","site_admin":false},"created_at":"2018-12-26T22:03:48Z","updated_at":"2018-12-26T22:03:48Z","column_url":"https://api.github.com/projects/columns/4046355"} +