Wagtail Admin+netlify

Netlify API Doc
https://open-api.netlify.com/

this are the three api endpoint we need
https://api.netlify.com/api/v1/sites/{site_id}/deploys
https://api.netlify.com/api/v1/sites/{site_id}/deploys/{deploy_id}
https://api.netlify.com/api/v1/deploys/{deploy_id}/cancel

Netlify Class

class Netlify(object):
def __init__(
self, netlify_site_name, netlify_api_key, netlify_site_id, netlify_webhook_id
):
...
def start_job(self):
url = f"https://api.netlify.com/build_hooks/{self.webhook_id}"
requests.post(url)
return self.list_jobs()[0]["id"]
def stop_job(self, deploy_id):
url = f"{self.base_url}/deploys/{deploy_id}/cancel"
self.make_request(url, "POST")
def get_job(self, deploy_id):
url = f"{self.base_url}/sites/{self.site_id}/deploys/{deploy_id}"
return self.make_request(url, action="GET")
def list_jobs(self):
url = f"{self.base_url}/sites/{self.site_id}/deploys"
return self.make_request(url=url, action="GET")
class Netlify(object):
    def __init__(
        self, netlify_site_name, netlify_api_key, netlify_site_id, netlify_webhook_id
    ):
...

    def start_job(self):
        url = f"https://api.netlify.com/build_hooks/{self.webhook_id}"
        requests.post(url)
        return self.list_jobs()[0]["id"]

    def stop_job(self, deploy_id):
        url = f"{self.base_url}/deploys/{deploy_id}/cancel"
        self.make_request(url, "POST")

    def get_job(self, deploy_id):
        url = f"{self.base_url}/sites/{self.site_id}/deploys/{deploy_id}"
        return self.make_request(url, action="GET")

    def list_jobs(self):
        url = f"{self.base_url}/sites/{self.site_id}/deploys"
        return self.make_request(url=url, action="GET")
class Netlify(object): def __init__( self, netlify_site_name, netlify_api_key, netlify_site_id, netlify_webhook_id ): ... def start_job(self): url = f"https://api.netlify.com/build_hooks/{self.webhook_id}" requests.post(url) return self.list_jobs()[0]["id"] def stop_job(self, deploy_id): url = f"{self.base_url}/deploys/{deploy_id}/cancel" self.make_request(url, "POST") def get_job(self, deploy_id): url = f"{self.base_url}/sites/{self.site_id}/deploys/{deploy_id}" return self.make_request(url, action="GET") def list_jobs(self): url = f"{self.base_url}/sites/{self.site_id}/deploys" return self.make_request(url=url, action="GET")

Enter fullscreen mode Exit fullscreen mode

Wagtail admin view

amplify = Amplify(
aws_access_key_id=settings.AMPLIFY_AWS_ACCESS_KEY_ID,
aws_secret_access_key=settings.AMPLIFY_AWS_SECRET_ACCESS_KEY,
app_id=settings.AMPLIFY_APP_ID,
branch_name=settings.AMPLIFY_BRANCH,
)
def netlify_jobs(request):
job_id = request.GET.get("jobid", "")
if job_id:
active_job = netlify.get_job(job_id)
jobs = netlify.list_jobs()
....
render template
def start_build(request):
jobid = netlify.start_job()
....
def stop_build(request, job_id):
netlify.stop_job(job_id)
....
amplify = Amplify(
        aws_access_key_id=settings.AMPLIFY_AWS_ACCESS_KEY_ID,
        aws_secret_access_key=settings.AMPLIFY_AWS_SECRET_ACCESS_KEY,
        app_id=settings.AMPLIFY_APP_ID,
        branch_name=settings.AMPLIFY_BRANCH,
    )

def netlify_jobs(request):

    job_id = request.GET.get("jobid", "")
    if job_id:
        active_job = netlify.get_job(job_id)

    jobs = netlify.list_jobs()
   ....
   render template

def start_build(request):
    jobid = netlify.start_job()
    ....


def stop_build(request, job_id):
    netlify.stop_job(job_id)
    ....
amplify = Amplify( aws_access_key_id=settings.AMPLIFY_AWS_ACCESS_KEY_ID, aws_secret_access_key=settings.AMPLIFY_AWS_SECRET_ACCESS_KEY, app_id=settings.AMPLIFY_APP_ID, branch_name=settings.AMPLIFY_BRANCH, ) def netlify_jobs(request): job_id = request.GET.get("jobid", "") if job_id: active_job = netlify.get_job(job_id) jobs = netlify.list_jobs() .... render template def start_build(request): jobid = netlify.start_job() .... def stop_build(request, job_id): netlify.stop_job(job_id) ....

Enter fullscreen mode Exit fullscreen mode

原文链接:Wagtail Admin+netlify

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
The future you will certainly thank yourself now desperately.
未来的你一定会感谢现在拼命的自己
评论 抢沙发

请登录后发表评论

    暂无评论内容